原文:Entity Framework ModelFirst尝试

前言

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<Order> Orders = from Orderes in db.Ordersselect Orderes;foreach (Order O in Orders){Console.WriteLine("OrderID is {0},Customer is {1}", O.ID, O.Customer);}}Console.ReadLine();}}

运行效果为

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

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

Entity Framework ModelFirst尝试相关推荐

  1. Entity Framework CodeFirst尝试

    前言 Code First模式我们称之为"代码优先"模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模 ...

  2. Entity Framework 5.0基础系列

    1.Entity Framework简介 http://www.cnblogs.com/aehyok/p/3315991.html 2.Entity Framework DBFirst尝试http:/ ...

  3. Entity Framework CodeFirst数据迁移

    原文:Entity Framework CodeFirst数据迁移 前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是"Database Fi ...

  4. Entity Framework快速入门笔记第四篇—ModelFirst

    前言:在上一篇博客中我们做了一个小的Demo,使用EF实现了对数据库的增删改查的操作,所谓学习,我们就要学会举一反三,所以好好学习一下上一篇的内容还是方便以后的扩展学习,这篇博客我们主要来研究一下Mo ...

  5. Entity Framework 4.3尝试体会

    2.20,微软出了Entity framework 4.3,这个东西可以支持code first,是个好东西,感觉仅code first来说,比Castle框架要方便,但有以下问题: 1.没有好的文档 ...

  6. 【转】学习Entity Framework 中的Code First

    这是上周就写好的文章,是在公司浩哥的建议下写的,本来是部门里面分享求创新用的,这里贴出来分享给大家. 最近在对MVC的学习过程中,接触到了Code First这种新的设计模式,感觉很新颖,并且也体验到 ...

  7. 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

    前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...

  8. Entity Framework VS Mybatis 不同点剖析

    大家都知道Entity Framework是.NET系统当中的一个重量级的ORM框架 ,它采用了延迟加载的技术,使得服务端不用每次都去尝试连接数据库,从而增加了使用效率和 减少了不必要的开销.而myb ...

  9. Entity Framework技术系列之2:三种开发模式实现数据访问

    前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对 ...

最新文章

  1. 苹果M1用着舒服的原因找到了,英特尔:学到了,下次我也用
  2. UVA - 1346 Songs (贪心+排序)
  3. 【Qt开发】QSplitter的使用和设置
  4. SpringCloudConfig(了解)
  5. 数据结构05数组和广义表
  6. 【HDU - 4417】Super Mario(查询区间小于K的数的个数,主席树)
  7. db2连接工具_ETL工具(kettl)使用系列(一)
  8. 数据分析 时间序列分析 ARMA模型
  9. 钟平逻辑英语语法_逻辑英语-钟平笔记.pdf
  10. 回溯法之旅行商问题解题思路详解
  11. Groundhog Looking Dowdy
  12. Kubernetes(k8s)从入门到精通
  13. 2018ACM-ICPC焦作站E题Resistors in Parallel
  14. 一文帮你深度了解Axie Infinity-啊蟹(内含细致教程)
  15. Excel表格如何快速隔行填充指定颜色
  16. blacklist regions:NGS测序数据中的黑名单
  17. 机器学习 | MATLAB实现BP神经网络newff参数设定(上)
  18. 7-1 ATM机类结构设计(二) (100 分)
  19. FusionInsight,一个融合的大数据平台
  20. Matlab R2017b的详细安装过程与激活步骤

热门文章

  1. CSS有效的编写代码
  2. python 词云_python数据可视化——词云
  3. Python基础编程——字典的创建
  4. spring常用的三种依赖注入方式
  5. 入门单片机选择51还是stm32?入门单片机有哪些好的教学视频?
  6. mysql 释放错误连接_JSP连接MySQL后数据库链接释放的错误
  7. 发布文件打包springboit_程序安装包咋制作的?Qt程序打包三部曲,从应用程序到安装包...
  8. Oracle导入csv数据字符集,用SQLLDR把.CSV文件导入到数据库时,出现无法定位字符集句柄以用于字符集标识(0)...
  9. 谷歌浏览器实现按下按键的脚本_chrome浏览器控制台创建js脚本并执行
  10. UVA10296 Jogging Trails(中国邮递员问题)(欧拉回路、一般图最大权匹配 / 状压DP)