entityframework学习笔记--003-使用model first
首先,我个人觉得这(model first 即模型优先)是一个鸡肋似的功能。当赞扬着他的强大的功能的同时,你也会觉得这个功能好像是不是不怎么需要,也很少使用。
1.右键你的项目,选择“添加”》“新建项” ,在弹出的对话框中选择“数据”,“ADO.NET实体数据模型”,点击“添加”。如图3-1

如3-1
2.选择“空EF设计器模型”,点击“完成”。如图3-2

图3-2
3.在“设计器”中右键,选择“新增实体”,添加实体名称等数据项,点击确定。如图3-3

图3-3
4,.在“Student”实体的属性上右键,依次点击“新增”》“标量属性”,修改属性名为“Name”,右键“Name”,点击“属性”可弹出属性框,设置相应属性值。据此方法,依次添加“Age”,“Detail”字段。如图3-4

图3-4
5.实体设计完成后,右键设计器空白处,选择"根据模型生成数据库"。在弹出的对话框中,可以选择“新建连接”也可以选择一个已经生成的连接,然后点击下一步。如图3-5

图3-5
6.到此会生成一个.sql的文件,打开文件,右键空白处,点击“执行”。如图3-6.(如果无法执行,可复制sql内容,在数据库中直接执行)如图3-6

图3-6
7.成型成功后,数据库中的表就已经生成了。下面演示的是新增数据到数据库中,其实和其他的方式一样。
using (Model1Container1 db = new Model1Container1())
{
for (int i = ; i < ; i++)
{
Student s1 = new Student();
s1.Name = "studnet" + i;
s1.Age = i;
s1.Detail = "detail" + i; db.Students.Add(s1);
} int count = db.SaveChanges(); Console.WriteLine("成功插入 {0} 条数据!",); Console.WriteLine("name \t\t age"); foreach (var item in db.Students)
{
Console.WriteLine("{0} \t {1}", item.Name, item.Age);
}
}
输出:

图3-7
8.其实“model first”的功能之强大元不止这些,比如“表关系”、“导航属性”、“属性限制”等等,都是可以通过它来完成的。不过“model first”使用的人貌似不多,可能正是因为这样的原因。在ef7中,已经把这个功能移除了。
entityframework学习笔记--003-使用model first的更多相关文章
- AngularJs学习笔记--Understanding the Model Component
原版地址:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_model 在angular文档讨论的上下文中,术语“model”可以 ...
- entityframework学习笔记--005-给code first一个正确的解释
在微软官方关于ef7的介绍中强调,ef7将舍弃database first.model first,只保留code first的使用.这引起了很多人的担忧,担忧源自对code first的错误理解.因 ...
- entityframework学习笔记--001
最近想重新好好学习一下entityframework,于是在院子里找到了一篇不错的博客.下面把学习的过程记录下来,方便以后复习. 学习过程参考大神的博客:http://www.cnblogs.com/ ...
- entityframework学习笔记--004-无载荷与有载荷关系
1.无载荷(with NO Payload)的多对多关系建模 在数据库中,存在通过一张链接表来关联两张表的情况.链接表仅包含连接两张表形成多对多关系的外键,你需要把这两张多对多关系的表导入到实体框架模 ...
- entityframework学习笔记--002-database first
1.实体框架紧紧地和Visual Studio集成在一起,为了在你的应用程序中使用实体框架,我们增加一个ADO.NET实体数据框架到你的项目.方法如下: 右键你的项目,然后选择 ➤New Item(新 ...
- Crusher Django 学习笔记4 使用Model
http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial4-using-basic.html 顺便学习一下FQ Crush ...
- (转)Qt Model/View 学习笔记 (二)——Qt Model/View模式举例
Qt Model/View模式举例 Qt提供了两个标准的models:QStandardItemModel和QDirModel.QStandardItemModel是一个多用途的model,可用于表示 ...
- (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...
- 【ASP.NET MVC 学习笔记】- 17 Model验证
本文参考:http://www.cnblogs.com/willick/p/3434483.html 1.Model验证用于在实际项目中对用户提交的表单的信息进行验证,MVC对其提供了很好的支持. 2 ...
随机推荐
- 《Entity Framework 6 Recipes》中文翻译系列 (18) -----第三章 查询之结果集扁平化和多属性分组
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-14 结果集扁平化 问题 你有一对多关联的两个实体,你想通过一个查询,获取关联 ...
- C#事件
事件(event),这个词儿对于初学者来说,往往总是显得有些神秘,不易弄懂.而这些东西却往往又是编程中常用且非常重要的东西.大家都知道windows消息处理机制的重要,其实C#事件就是基于window ...
- DAC Usage2:通过DAC实现DB Schema的Migration和Upgrade
一,Introduce Extract DAC 是从现存的DB中创建DAC,抽取DB Object的definition 和 与之相关的实例级别的元素,比如Login,以及Login 和User之间的 ...
- VS2013常用快捷键你敢不会?
F1 帮助文档 F5 运行 F12 跳转到定义 F11 单步调试 Shift+F5 停止调试 Ctrl+滚轮 放大缩小当前视图 Ctrl+L 删除当前行 Ctrl+K,Ctrl+C 注释选中代码 Ct ...
- 《JS设计模式笔记》 4,桥接模式
//桥接模式的作用在于将实现部分和抽象部分分离开来,以便两者可以独立的变化. var singleton=function(fn){ var result; return function(){ re ...
- Android NDK开发Hello Word!
在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...
- 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
上一节在 first_local_net 中已经部署了 cirros-vm1,今天将再部署一个instance,并验证两个 instance 的连通性. 以同样的方式 launch instance ...
- jQuery之empty、remove、detach
三者都有把元素移除的作用,但细微的差别,造就了它们的使命不同. 最权威的解释当然是jQuery_API咯,下面是API中关于他三儿的部分截取. 一.empty: This method removes ...
- Deadlock Detecting--转
/* Java Threads, 3rd Edition By Scott Oaks, Henry Wong 3rd Edition September 2004 ISBN: 0-596-00782- ...
- 如何用 js 获取table 或者其他块状标签的 宽和高
这个比较简单,总体思想,标签标记一个id,js获取id,就能用它的属性了.介绍两种方法.请看下面代码. 第一种 <script> function width_table_all() { ...