码迷,mamicode.com
首页 > 其他好文 > 详细

EntityFramework初步学习

时间:2014-09-15 22:45:09      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   使用   ar   strong   

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

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

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

bubuko.com,布布扣bubuko.com,布布扣

此时所需的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();
            }
        }

 

查看数据库bubuko.com,布布扣

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初步学习

标签:style   blog   http   color   io   os   使用   ar   strong   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!