第十二节: EF的三种模式(二) 之 ModelFirst模式(SQLServer为例)
一. 简介
顾名思义,ModelFirst是模型优先,是DBFirst的逆向模式,先建立实体数据模型,然后根据实体数据模型来生成数据库,从而驱动整个开发流程.(生成一个空的edmx文件,手动在里面建立实体模型)
(1). 优点:符合当前流行的面向领域驱动设计的开发模式,可以用设计建模的思维来进行代码开发,符合面向对象的编程思想.
(2). 缺点:当实体需要改变的时候,需要重新映射生成数据库,这个时候数据库中的数据会被清空.
二. 使用步骤
1. 选择模型:空的EF设计器
2. 新增实体
3. 新增标量属性
4. 新建关联(根据项目需要)
5. 根据模型生成数据库,生成SQL文件
6. 在SQLServer建立一个名字对应的空数据库,然后执行SQL脚本
7. 生成的数据库连接字符串根据实际项目,看是否需要迁移到主文件中
8. 大功告成,尽情使用吧
1 public static void TestModelFirst() 2 { 3 using (ModelDB1Container db = new ModelDB1Container()) 4 { 5 try 6 { 7 MyUserInfor myUserInfor = new MyUserInfor(); 8 myUserInfor.name = "txt" + Guid.NewGuid().ToString("N").Substring(6); 9 db.MyUserInforSet.Add(myUserInfor); 10 int n = db.SaveChanges(); 11 if (n > 0) 12 { 13 Console.WriteLine("添加成功"); 14 } 15 } 16 catch (Exception) 17 { 18 Console.WriteLine("添加失败"); 19 } 20 } 21 }