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

  • 相关阅读:
    面试遇到的相关问题
    webpack的学习之旅
    ajax请求数据
    css选择器
    对BFC的理解
    对React的理解
    获取DOM的真实节点
    翻转拼图网页小游戏制作
    acm比赛刷题小技巧
    动态规划 背包九讲的实现。
  • 原文地址:https://www.cnblogs.com/Chh884/p/3973853.html
Copyright © 2020-2023  润新知