zoukankan      html  css  js  c++  java
  • Entity Framework 6 Code First的简单使用和更新数据库结构

    Entity Framework 6 Code First的简单使用和更新数据库结构

    一、安装Entity Framework 6

          在项目中右击选择“管理NuGet程序包",联机搜索Entity Framework,点击安装

      

      

    二、配置数据库连接

      在App.config中加入数据库连接字符串的配置

    <connectionStrings>
        <add name="DBContext" connectionString="data source=127.0.0.1;uid=sa;pwd=123;database=test;" providerName="System.Data.SqlClient"/>
     </connectionStrings>

    三、DbContext及实体类

        public class MyContext:DbContext
        {
            public MyContext() : base("DBContext") { }
            public DbSet<Product> Products { get; set; }
        }
    
    
        public class Product
        {
            [Key]
            public string Code { get; set; }
    
            public string Name { get; set; }
    
            public int Quantity { get; set; }
        }

    四、简单测试

            static void Main(string[] args) {
                using (MyContext db = new MyContext()) {
                    var product = new Product { Code = "1", Name = "p1" };
                    db.Products.Add(product);
                    db.SaveChanges();
                }
            }

    五、更新数据库结构

      1.点击视图->其他窗口->程序包管理器控制台

      

      2.输入Update-Database

       这时会出现“No migrations configuration type was found in the assembly 'EF6CodeFirst'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration).“

      3.输入Enable-Migrations

        命令执行成功后会在项目中自动添加Migrations,目录里有一个Configuration.cs,打开Configuration.cs把AutomaticMigrationsEnabled修改为true

      4.再次尝试执行Update-Database

       命令能正确执行

      5.我们尝试删除Name字段,然后执行Update-Database

         由于Name字段有数据,命令执行失败,显示如下错误:Automatic migration was not applied because it would result in data loss

         这个时候能用Update-Database -Force来强制更新数据库,但这将造成数据丢失

    六、总结

      Entity Framework 6 Code First能使数据库访问和实体操作代码变得很简洁,但如果项目开发过程中需要频繁的更改数据库就要考虑清楚才使用了。

  • 相关阅读:
    学习python第四天——列表方法
    昨天休息了一天,今天补上。列表学习
    第二天学习——字符串的方法
    mongodb
    linux学习篇(一)
    mysql优化
    linux服务
    vue配置服务器
    photoshop学习
    关于视图
  • 原文地址:https://www.cnblogs.com/grj001/p/12223611.html
Copyright © 2011-2022 走看看