EntityFramework初步学习

刚开始接触EntityFramework (6.1.1),首先利用它对数据库进行简单的操作。

1.创建一个控制台应用程序,创建完成后添加EntityFramework程序集的引用,添加EntityFramework的引用可以通过NuGet

VS2013  工具->库程序包管理器->程序包管理器控制平台->输入 Install-Package EntityFramework

此时所需的EntityFramework程序集已添加到项目中。

2.建立一个员工Model

 public class Employee//对应数据库表中一条数据
    {
       public Int64 ID;
       public String JobString;
       public String Name;
    }

   public class EmployeeDBContext:DbContext
   {
       public DbSet<Employee> Employees { get; set; }//对应数据库中的表
   }

3.配置文件中加入连接字符串

 <connectionStrings>
    <add name="EmployeeDBContext" connectionString="Data Source=.;Initial Catalog=EFDemo;User Id=sa;pwd=12345678" providerName="System.Data.SqlClient"/>
  </connectionStrings>

注意上面的name属性的值一定要用对应Model的数据上下文类的类名词

4.向数据库中插入员工信息

static void Main(string[] args)
        {
            using (EmployeeDBContext db=new EmployeeDBContext()) 
            {
                Employee employee = new Employee();
                employee.JobString = "AA001";
                employee.Name = "张三";

                db.Employees.Add(employee);//EmployeeDBContext相当于数据库,Employees相对于数据库中的表,向表中添加一天数据
                db.SaveChanges();//保存更改

                Console.WriteLine("结束");
                Console.ReadKey();
            }
        }

查看数据库

5.当这时需要修改数据库中字段,例如员工表中加入Department列

如果直接在Model中加入Department属性会抛出一个 System.InvalidOperationException异常

这时可以使用官方给的解决方法 Code First Migrations:http://msdn.microsoft.com/en-us/data/jj591621

也可以使用以下方法

在程序开始位置加入System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EmployeeDBContext>());

如果Model发生改变将会重建数据表,原有数据将会丢失。

原文地址:https://www.cnblogs.com/Chh884/p/3973853.html