EF--Model First
Model First先设计Model对象,再由对象生成数据库。
1、新建控制台项目,名称ModelFirst,确定。
2、点击选中项目,右键-->添加-->新建项目--选择数据模板-->ADO.Net实体数据模型-->添加。选择空模型-->下一步。

此时项目目录如下:

双击后打开视图设计页面。在顶部菜单--视图--工具箱,打开实体设置工具箱。
3、双击打开Model1.edmx后,在设计页面右键-->新增-->实体

弹出实体,输入实体名称、实体集名称、主键属性名称如下图,点击确定。

4、添加属性,实体添加后,左键单击选择实体-->右键-->新增-->标量属性。

属性分别为FirstName,MiddleName,LastName,PhoneNumber.
5、修改命名,在设计器窗口,右键-->属性。

6、开始生成数据库操作。在设计窗口,右键-->根据模型生成数据库(G)...

7、设置连接

确定后点击下一步,选择版本6.0(如果有),会进入数据库生成DDL模板,点击完成。完成后项目中会添加model.edmx.sql文件,复制到数据库管理工具执行即可。
8、数据库生成操作。复制model.edmx.sql文件,到数据库管理窗口并执行操作。

9、数据添加读取,在项目中修改main方法内容如下。
static void Main(string[] args)
{
using (var context = new PersonContext())
{
var person = new Person
{
FirstName = "Robert",
MiddleName = "Allen",
LastName = "Doe",
PhoneNumber = "867-5309"
};
context.People.Add(person);
person = new Person
{
FirstName = "John",
MiddleName = "K.",
LastName = "Smith",
PhoneNumber = "824-3031"
};
context.People.Add(person);
person = new Person
{
FirstName = "Billy",
MiddleName = "Albert",
LastName = "Minor",
PhoneNumber = "907-2212"
};
context.People.Add(person);
person = new Person
{
FirstName = "Kathy",
MiddleName = "Anne",
LastName = "Ryan",
PhoneNumber = "722-0038"
};
context.People.Add(person);
context.SaveChanges(); Console.WriteLine("---------------数据已添加------------"); foreach (var item in context.People)
{
Console.WriteLine("FullName:{0}{1}{2}", item.FirstName, item.MiddleName, item.LastName);
} Console.ReadKey(); }
}
总结:Model先建数据实体再根据实体生成数据库,适用全新项目快速建库。
参考资料:EF6Recipes 第二版。
EF--Model First的更多相关文章
- 使用EF Model First创建edmx模型,数据库有数据的情况下,如何同时更新模型和数据库
使用"EF Model First",我们可以很直观地在edmx文件中创建数据模型,并根据模型生成数据库,整个过程快速而高效.可当数据库中有了一定的数据量,同时,可能需要对模型中字 ...
- asp.net EF model中的默认值设置
在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(CreateDate)”字段就会常常这样设计. 如果希望能有默认值,且让.net 程序在新增 ...
- MVC EF Model First
1 在Models下新建实体数据模型Model.edmx 2 在Model.edmx中点右键建立各个实体,增加Scalar Property 3 空白处点右键,添加关系,勾选增加外键 4 保存Mode ...
- D其他项目打电话AL工程EF Model
Based on your description and the error code, you will just need to ensure that your DataContext ...
- linq 查询的两种方法 (在EF model中实现)
众所周知:linq查询有两种方式 1.通过linq表达式查询 2.是通过linq方法查询 代码中 每一步都有注释
- Entity Framework(EF的Model First方法)
EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架.同其它ORM(如,NHibernate,Hibernate)一样, 一是为了使开 ...
- EF Code First学习系列
EF Model First在实际工作中基本用不到,前段时间学了一下,大概的了解一下.现在开始学习Code First这种方式.这也是在实际工作中用到最多的方式. 下面先给出一些目录: 1.什么是Co ...
- C#实用杂记-EF全性能优化技巧
原文链接:http://www.makmong.com/947.html#comment-31 EntityFramework 优化建议 2016年1月15日 下午4:54 LEILINKANG ...
- EF Code First列名 'Discriminator' 无效的问题
新建了一个类继承EF Model类,运行报错 EF Code First列名 'Discriminator' 无效 EF会把项目中在DbContext中引用的所有的Model类及这些Model类对应 ...
- EF各版本增删查改及执行Sql语句
自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...
随机推荐
- Hadoop源码分析之产生InputSplit文件过程
用户提交 MapReduce 作业后,JobClient 会调用 InputFormat 的 getSplit方法 生成 InputSplit 的信息. 一个 MapReduce 任务 ...
- Blocks poj 区间dp
Some of you may have played a game called 'Blocks'. There are n blocks in a row, each box has a colo ...
- Python的安装位置与Python库
如何查看Python的安装位置: 输入 where python ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- BAPC 2014:Button Bashing(暴力+bfs)
题意: 给出n,m,代表微波炉有n个按钮,要求达到总时间为m 然后给出n个数,代表n个按钮能增加的时间,问最少几步,能够使得按出的总时间大于等于要求的时间,并且相差最小 输出最小的步数与相差的最小值 ...
- Jupyter notebook介绍以及安装
一.Jupyter介绍 Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本.主要是针对python,另外支持运行 40 多种编程语言.Jupyte ...
- SQL 行转列的两种做法
if object_id('tb')is not null drop table tbGocreate table tb(姓名 varchar(10),课程 varchar(10),分数 int)in ...
- HIVE 计算指定日期本周的第一天和最后一天
-- 计算指定日期本周的第一天和最后一天 select day ,dayofweek(day) as dw1 ,date_add( - dayofweek(day)) as Su_s -- 周日_st ...
- SQL 十分位
-- 十分位,这个算法不是很准确 select family_agreement_cnt -- 字段 ,dt -- 分区 ,rn -- 排序 ,cnt -- 总行数 ,percent2 -- 分位值 ...
- C++: int int& int * int**的区别、联系和用途
1.int; int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到 2,147,483,647:在声明和定义变量时使用,它表示的意思是所声明或所定义的 ...
- .netcore在linux下使用P/invoke方式调用linux动态库
http://www.mamicode.com/info-detail-2358309.html .netcore下已经实现了通过p/invoke方式调用linux的动态链接库(*.so)文件 1 ...