首页 > 代码库 > EntityFramework初步学习

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发生改变将会重建数据表,原有数据将会丢失。

 

EntityFramework初步学习