EF三种编程方式详细图文教程(C#+EF)之Model First
来源:互联网 发布:乌克兰危机 知乎 编辑:程序博客网 时间:2024/06/05 11:13
Model First
Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在Visual Studio中我们通过设计对于的数据模型来生成数据库和数据类。
首先创建一个控制台应用程序,右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB(此名称跟上一个没有任何联系,只是重名而已):
在模型设计视图中,添加新实体:(空白处右键)
添加,两个Scalar属性:“Customer”和“OrderDate(为datetime类型,可选中它在属性中修改)”;同样的方式添加第二个实体“OrderDetail”,并添加“Product”和“UnitPrice”属性:
接下来我们添加二者之间的关系,“Order”和“OrderDetail”是一对多的关系,“Order”可以通过“OrderDetails”属性访问“OrderDetail”实体,“OrderDetail”可以通过“Order”属性访问“Order”实体,并且添加了一个外键约束到“OrderDetail”中:
添加过关系后:
到目前为止Model First中的Model已经创建结束,下面就需要生成到数据库了,在模型设计视图空白处选择“从模型生成到数据库…”:(这里还是用的上面那个EFDemo数据库,可根据自己需求更改,新建连接更换数据库)
选择数据库连接,点击下一步,你将会看到生成的sql语句:
点击完成,不出意外的话将打开生成的脚本,当然你也可能会出现如下错误,请下载最新的SQL Server Data Tool(本地VS2012,数据库SQLServer2008R2出现了下面的提示,下载更新即可,建议直接下载镜像文件):
在模型保存后,生成了数据库上下文和实体类,并且打开了建表的脚本:
说明:如果没有,看看模型是否保存了(如下图)
打开的数据库脚本:
然后右键选择执行即可。
然后编码查询一下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Text; 7 using System.Threading.Tasks; 8 9 namespace EFDemo10 {11 class Program12 {13 static void Main(string[] args)14 {15 Order o = new Order() { Customer = "", OrderDate = DateTime.Now }; EFDemoDBContainer db = new EFDemoDBContainer();16 db.Orders.Add(o);17 int result = db.SaveChanges();18 19 var orders = from od in db.Orders select od;20 21 foreach (Order order2 in orders)22 {23 Console.WriteLine("OrderID:{0},OrderDate:{1}", order2.Id, order2.OrderDate);24 }25 26 Console.Read();27 }28 }29 }
运行结果(正常情况下应该只有一行,这是我多次运行后的结果):
注意:如果我们的模型发生改变,只需要在模型设计视图修改模型,让后保存此时实体类就会相应改变,然后选择“从模型生成到数据库”重新执行生成的脚本即可。
- EF三种编程方式详细图文教程(C#+EF)之Model First
- EF三种编程方式详细图文教程(C#+EF)之Model First
- EF三种编程方式详细图文教程(C#+EF)之Database First
- EF三种编程方式详细图文教程(C#+EF)之Code First
- ORM系列之二:EF(4) Model First
- EF之Model First模型优先
- 【NCRE】---EF三种编程方式
- EF之Code First设置主外键关系(三)
- EF框架—Model-First
- Entity Framework 5.0系列之EF概览-三种编程方式
- EF(code First)
- Asp.Net MVC 常用开发方式之EF Code First
- Asp.Net MVC 常用开发方式之EF Code First
- Asp.Net MVC 常用开发方式之EF Code First
- EF提供的三种查询方式
- 【EF 5】结合项目实战分析EF三大工作模式之—Database First
- EF学习和使用(三)Code First
- 【.NET】EF框架之三种模式
- 解析HTTP协议六种请求方法
- 迭代的相关经验
- projecteuler.net 1--Multiples of 3 and 5
- easyui的accordion折叠面板案例
- 软件安装(预习)
- EF三种编程方式详细图文教程(C#+EF)之Model First
- Linux常用命令(二)
- mybatis中的#和$的区别
- oracle用户权限
- 抽象类配合多继承使用
- mysql字符串拼接函数:concat和concat_ws
- CCF 201503-2 数字排序
- EF三种编程方式详细图文教程(C#+EF)之Code First
- UVA455 KMP求最小循环节长度