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的更多相关文章

  1. 使用EF Model First创建edmx模型,数据库有数据的情况下,如何同时更新模型和数据库

    使用"EF Model First",我们可以很直观地在edmx文件中创建数据模型,并根据模型生成数据库,整个过程快速而高效.可当数据库中有了一定的数据量,同时,可能需要对模型中字 ...

  2. asp.net EF model中的默认值设置

    在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(CreateDate)”字段就会常常这样设计. 如果希望能有默认值,且让.net 程序在新增 ...

  3. MVC EF Model First

    1 在Models下新建实体数据模型Model.edmx 2 在Model.edmx中点右键建立各个实体,增加Scalar Property 3 空白处点右键,添加关系,勾选增加外键 4 保存Mode ...

  4. D其他项目打电话AL工程EF Model

     Based on your description and the error code, you will just need to ensure that your DataContext ...

  5. linq 查询的两种方法 (在EF model中实现)

    众所周知:linq查询有两种方式 1.通过linq表达式查询 2.是通过linq方法查询 代码中 每一步都有注释

  6. Entity Framework(EF的Model First方法)

    EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架.同其它ORM(如,NHibernate,Hibernate)一样, 一是为了使开 ...

  7. EF Code First学习系列

    EF Model First在实际工作中基本用不到,前段时间学了一下,大概的了解一下.现在开始学习Code First这种方式.这也是在实际工作中用到最多的方式. 下面先给出一些目录: 1.什么是Co ...

  8. C#实用杂记-EF全性能优化技巧

    原文链接:http://www.makmong.com/947.html#comment-31 EntityFramework 优化建议 2016年1月15日 下午4:54 LEILINKANG   ...

  9. EF Code First列名 'Discriminator' 无效的问题

    新建了一个类继承EF  Model类,运行报错 EF Code First列名 'Discriminator' 无效 EF会把项目中在DbContext中引用的所有的Model类及这些Model类对应 ...

  10. EF各版本增删查改及执行Sql语句

    自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...

随机推荐

  1. linux heap堆分配

    heap堆分配在用户层面:malloc函数用于heap内存分配 void* malloc(size_t size); 进程的虚拟内存地址布局: 对用户来说,主要关注的空间是User Space.将Us ...

  2. php http 缓存(客户端缓存)

    <?php /* * Expires:过期时间 * Cache-Control: 响应头信息 * (max-age:[秒]缓存过期时间(请求时间开始到过期时间的秒数), * s-maxage:[ ...

  3. pre 标签 防止 其撑开 div...

    pre 里面 的内容如果不换行,会导致 div 横向 出现 滚动条...加入下列 css可解决! pre{ white-space: pre-wrap; word-wrap: break-word; ...

  4. sublime中正则替换

    匹配 <header></header>  ,  “.” 是匹配任意 非 换行 符号 而  \s\S 匹配任何符号 匹配div class为navbar 的 div <d ...

  5. poj2823滑动窗口(单调队列)

    题目传送门 题意:给你一个长度为n的数列,然后用一个长度为k的窗口去框(k<n)每次保存k这个窗口中的最大值和最小值,输出. 思路:这道题最朴素的on2的做法铁定超时,然后我想过一个nlogn的 ...

  6. POJ 2299 Ultra-QuickSort (树状数组 && 离散化&&逆序)

    题意 : 给出一个数n(n<500,000), 再给出n个数的序列 a1.a2.....an每一个ai的范围是 0~999,999,999  要求出当通过相邻两项交换的方法进行升序排序时需要交换 ...

  7. jinkens 检查svn更新就构建

    以下的配置就是,svn上的文件一旦有变动,一分钟后就会触发jinkens的job(构建)

  8. UntraEdit 语法高亮 (MSSQL)

    http://www.ultraedit.com/downloads/extras/wordfiles.html 这里有ue 支持的语言的uew文件. 需要把下载的语法文件放到: %APPDATA%\ ...

  9. java TopK算法

    现有一亿个数据,要求从其中找出最小的一万个数,希望所需的时间和空间最小,也就是所谓的topK问题 TopK问题就是从海量的数据中取最大(或最小的)的K个数. TopK问题其实是有线性时间复杂度的解的, ...

  10. Should I buy Auro OtoSys IM600 or Obdstar X300 DP?

    Auro OtoSys IM600 and Obdstar X300 DP – What’s the difference & Which better? This is for those ...