博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework ModelFirst尝试
阅读量:7191 次
发布时间:2019-06-29

本文共 1519 字,大约阅读时间需要 5 分钟。

原文:

前言

Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在Visual Studio中我们通过设计对于的数据模型来生成数据库和数据类。

简单演示使用过程

第一步:首先还是添加一个简单的控制台应用程序,然后在此项目上添加一个 ADO.NET 实体数据模型。

第二步:选择空模型。

第三步:在模型设计视图中,添加新实体

点击确定后

第四步:在Order实体上在添加两个属性,Customer(订单所属客户)类型为string,OrderDate(订单下单日期)类型为DateTime

字段类型设置,就在当前字段右键===>>>属性然后找到类型设置即可。

第五步:再添加一个实体OrderDetail订单详细,Product产品

第六步:我们添加二者之间的关系,“Order”和“OrderDetail”是一对多的关系,“Order”可以通过“OrderDetails”属性访问“OrderDetail”实体,“OrderDetail”可以通过“Order”属性访问“Order”实体,并且添加了一个外键约束到“OrderDetail”中

点击确定,添加之后的关系为

到目前为止Model First中的Model已经创建结束,下面就需要生成到数据库了,在模型设计视图空白处选择“根据模型生成到数据库…”:

并且确保数据库中已经存在一个空白数据库

第七步:选择并添加数据链接

 然后点击下一步后,会看到如下界面

然后再点击完成即可,看到生成的Sql脚本。

再然后,右键Sql脚本,点击执行

最终数据库的此数据库多了两个表

简单代码测试

 

class Program    {        static void Main(string[] args)        {            using (var db = new ModelTestContainer())            {                Order Order = new Order();                Order.Customer = "aehyok";                Order.OrderDate = DateTime.Now;                db.Orders.Add(Order);                db.SaveChanges();                IQueryable
Orders = from Orderes in db.Orders select Orderes; foreach (Order O in Orders) { Console.WriteLine("OrderID is {0},Customer is {1}", O.ID, O.Customer); } } Console.ReadLine(); } }

 运行效果为

运行了两次,所以添加两条数据。

注意:如果我们的模型发生改变,只需要在模型设计视图修改模型,让后保存此时实体类就会相应改变,然后选择“从模型生成到数据库”重新执行生成的脚本即可。

 

转载地址:http://pttkm.baihongyu.com/

你可能感兴趣的文章
算法模板——平衡树Treap
查看>>
1819: [JSOI]Word Query电子字典
查看>>
10分钟学会AngularJS的数据绑定
查看>>
Flash Stage3D Molehill 学习笔记(2)
查看>>
javascript深入理解js闭包
查看>>
JsDoc脚本注释文档生成
查看>>
基于人脸识别的考试系统16
查看>>
如何在eclipse模拟器上运行下载好的apk程序
查看>>
DTCMS插件的制作实例电子资源管理(一)插件目录结构
查看>>
《领域模型》——第四部分-战略设计
查看>>
微信开发之调起摄像头、本地展示图片、上传下载图片
查看>>
对于使用了SSH造成的中文乱码问题,4大解决方法
查看>>
PAT Advanced 1023 Have Fun with Numbers
查看>>
python多线程threading下载示例
查看>>
python常见问题解决方案
查看>>
【算法学习笔记】77.双线棋盘 动态规划 SJTU OJ 1263 纸来纸去
查看>>
OnSubmit中的Ajax判断
查看>>
CF1117G Recursive Queries
查看>>
愤怒的小鸟 高清完整版下载
查看>>
解决 border-radius 元素在应用了 transform 的子元素 时overflow:hidden 失效的问题
查看>>