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 ...
随机推荐
- 【mysql】新增、修改、删除、查询 语法讲义
一.DML - 数据操作语言 INSERT - 实现数据表数据的新增 UPDATE - 实现数据表数据的修改 DELETE - 实现数据表数据的删除 二.INSERT 语法: insert into ...
- Linux命令之bc - 浮点计算器、进制转换
用途说明 Bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下.手册页上说bc是An arbitrary precision calcu ...
- LVM的创建与挂载
LVM的诞生: 由于传统的磁盘管理不能对磁盘进行磁盘管理,比如我把/dev/sdb1挂载到了/liu目录下,但是因为数据量过大的原因,此文件系统磁盘利用率已经高达98%,那么我可以直接对这个磁盘进行扩 ...
- Laravel核心解读--ENV的加载和读取
Laravel在启动时会加载项目中的.env文件.对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的. 例如,你可能希望在本地使用测试的Mysql数据库而在上线后希望项目能够自动切换到生 ...
- hdfs的HA集群搭建的相关配置
前期准备就不详细说了 .修改Linux主机名 .修改IP .修改主机名和IP的映射关系 ######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机.阿里云主机等) /etc/ ...
- 使用IIS承载WCF服务
作者:jiankunking 出处:http://blog.csdn.net/jiankunking 1.WCF能够方便的通过IIS承载,此承载模型与ASP.NET和ASP.NET Web Servi ...
- 如何让alertdialog选择完后自动关闭
builder.setIcon(R.drawable.ic_system) .setTitle("串口号") .setSingleChoiceItems(mPorts, mSele ...
- 学golang之前都需要哪些前置知识?
我学golang,感觉前面基础语法部分都很快能学会,但是到了goroutine,channel等后面的部分就看不懂了,是不是我学这个之前还得学习其他什么知识啊?(我有C语言基础,对于C语言里面的指针, ...
- 使用freerdp远程连接Windows桌面(转载)
使用freerdp远程连接Windows桌面 之前使用的是rdesktop,但是由于其不支持NLA认证,便不能登录公司的电脑.为此,现在使用freerdp——这是package的名字,实际的可执行程序 ...
- [TJOI2013]单词 AC 自动机
题目描述: 小张最近在忙毕设,所以一直在读论文. 一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 题解: AC 自动机裸题,将所有字符串读入 ...