Entity Framework之Model First开发方式
一、Model First开发方式
在项目一开始,就没用数据库时,可以借助EF设计模型,然后根据模型同步完成数据库中表的创建,这就是Model First开发方式。总结一点就是,现有模型再有表。
二、创建Model First Demo
1.右键解决方法“EFDemo”,选择“添加项目-》控制台应用程序”,并将名称改为ModelFirst
2.右键ModelFirst项目,再选择“添加新建项-》ADO.NET实体数据模型”,并命名为ModelFirstModel.edmx,下一步,选择“空EF设计器模型”,完成。
步骤如下图:
3.添加实体Customer
3.1右键模式设计器空白处,选择“新增-》实体”,添加Customer实体
3.2添加标量属性。标量属性可以看成数据库中的普通字段(主键和外键之外的),我们在设计字段属性时,
一定要记得设置其最大范围,否则最终会生成一个比较大的默认范围,严重影响性能
再依次添加标量属性Telphone、CompanyName、Age
4.添加实体之间的联系
4.1在添加一个Product实体,属性类型设为Guid
再依次添加标量属性Name、Price、Weight
4.2 再添加实体Order以及标量属性OrderNo、Amount、CreateTime
4.3 添加实体之间的关联,右键设计器面板空白处“新增-》关联”
Customer和Order 是一个一对多的关系。我们再添加Customer和Product多对多的关联
最终结果如下图:
说明:这里只是为了演示,在实际项目中商品是和订单明细关联的
5.根据模型创建数据库
右键模型设计器界面空白处,选择“根据模型生成数据库”
单击“下一步-》完成”,生成DLL脚本,然后执行生成的DLL脚本
执行DLL脚本后,数据库中出现了4张表
CustomerProduct是怎么回事呢?因为我们之前添加了多对多关联,而多对多关联就是通过一张新表来实现存储的。
Entity Framework之Model First开发方式的更多相关文章
- 第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一 ...
- 第二篇:Entity Framework CodeFirst & Model 映射
前一篇 第一篇:Entity Framework 简介 我有讲到,ORM 最关键的 Mapping,也提到了最早实现Mapping的技术,就是 特性 + 反射,那Entity Framework 实现 ...
- Entity Framework : The model backing the '' context has changed since the database was created
1.采用code first 做项目时,数据库已经生成,后期修改数据库表结构.再次运行时出现一下问题: Entity Framework : The model backing the '' cont ...
- [转]Creating an Entity Framework Data Model for an ASP.NET MVC Application (1 of 10)
本文转自:http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/creating-a ...
- How to: Use the Entity Framework Data Model Located in an External Assembly 如何:使用位于外部程序集中的EF数据模型
If you have a non-XAF application, and want to develop an XAF application that utilizes the same dat ...
- How to: Supply Initial Data for the Entity Framework Data Model 如何:为EF数据模型提供初始数据
After you have introduced a data model, you may need to have the application populate the database w ...
- Entity Framework介绍和DBFirst开发方式
一.ORM概念 什么是ORM? 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术.简单来说,就是将关系型数 ...
- 【Entity Framework】Model First Approach
EF中的model first 所谓mf, 就是使用vs提供的edm designer去设计model,然后将设计好的model使用vs在指定的数据库中生成数据库即可. 当你的项目既没有数据库也没有c ...
- Entity Framework之Code First开发方式
一.Code First Code First方式只需要代码,不需要Edmx模型.EF通过实体类型结构推断生成SQL并创建数据库中的表.开发人员只需要编写实体类就可以进行EF数据库的开发. Code ...
随机推荐
- 关于python return 和 print 的区别
概念上一个是 返回值 一个是打印输出 区别一:return是结束语一般放在函数的最后,当你在return 结束后面再写一些东西是不执行的如 下 def renshu(x,y): h=x+y pri ...
- 紫书 例题8-10 UVa 714 (二分答案)
这道题让最大值最小, 显然是二分答案 当题目求的是最大值最小, 最小值最大, 这个时候就要想到二分答案 为什么可以二分答案呢, 因为这个时候解是单调性的, 如果简单粗暴一点 就全部枚举一遍, 验证答案 ...
- CloudStack云基础架构的一些概念
1. Zones(区域) 一个区域在CloudStack配置中是最大的组织单元.一个区域通常代表一个单独的数据中心,虽然在一个数据中心也允许有多个区域.将基础架构设施加入到区域中的好处是提供物理隔离和 ...
- Vue中如何监控某个属性值的变化?
比如现在需要监控data中, obj.a 的变化.Vue中监控对象属性的变化你可以这样: deep属性表示深层遍历,但是这么写会监控obj的所有属性变化,并不是我们想要的效果,所以做点修改: 还有一种 ...
- LaTeX 简介与安装
1 LaTeX 简介 Leslie Lamport 开发的 LaTeX 是当今世界上最流行和使用最为广泛的TeX格式.它构筑在Plain TeX的基础之上,并加进了很多的功能以使得使用者可以更为方便的 ...
- 洛谷 P2747 [USACO5.4]周游加拿大Canada Tour
P2747 [USACO5.4]周游加拿大Canada Tour 题目描述 你赢得了一场航空公司举办的比赛,奖品是一张加拿大环游机票.旅行在这家航空公司开放的最西边的城市开始,然后一直自西向东旅行,直 ...
- How to customize Skin Gallery - Remove / rename skins and groups
1. REMOVE (HIDE) A SPECIFIC SKIN Traverse through the gallery group collection, then through its gal ...
- Android之Http通信——1.初识Http协议
Android之Http通信--1.初识Http协议 引言: 今天是六一儿童节,先在这里给各位超龄儿童说声节日快乐哈~( ╯□╰ ),小猪也象征性地给群里的小朋友们派了红包-嗯,忙碌的五月最终过去了, ...
- light oj 1317
Description You probably have played the game "Throwing Balls into the Basket". It is a si ...
- Excel操作之VLOOKUP
https://support.office.com/en-us/article/VLOOKUP-function-0bbc8083-26fe-4963-8ab8-93a18ad188a1 Use V ...