刚开始接触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发生改变将会重建数据表,原有数据将会丢失。
时间: 2024-11-08 17:09:06