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 ...
随机推荐
- 机器学习理论知识部分--偏差方差平衡(bias-variance tradeoff)
摘要: 1.常见问题 1.1 什么是偏差与方差? 1.2 为什么会产生过拟合,有哪些方法可以预防或克服过拟合? 2.模型选择例子 3.特征选择例子 4.特征工程与数据预处理例子 内容: 1.常见问题 ...
- 我所理解的Cocos2d-x
我所理解的Cocos2d-x(完全基于Cocos2d-x3.0,深度剖析计算机图形学,OpenGL ES及游戏引擎架构,全面提升游戏开发相关知识) 秦春林 著 ISBN 978-7-121-246 ...
- Swift语言快速入门
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著 ISBN 978-7-121-24328-8 201 ...
- Sql Server系列:Delete语句
数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录.如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表. 1 DELETE语法 [ WITH <c ...
- Unity Shaders 第一个默认程序分析
Unity Shaders 第一个默认程序 Shader "Custom/Shader" { Properties { _MainTex ("Base (RGB)&quo ...
- css3圆形头像(当图片宽高不相等时)
1.图片宽高相等,width:300px: height:300px; 把他变成宽高100px的圆形头像 img{width:100px; height:100px; border-radius:50 ...
- Android 生成LayoutInflater的三种方式
通俗的说,inflate就相当于将一个xml中定义的布局找出来. 因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组 ...
- Javascript一些实用技巧
1.利用NumberObj的toString(radix)方法获取随机数字字母字符串,radix是表示数字的基数,就是进制,如下所示 var getRndAlphaNumStr = (len) =&g ...
- UWP开发之Mvvmlight实践三:简单MVVM实例开发(图文详解付代码)
在做MVVM各种框架对比之前,我觉得有必要先自己做一个简单的MVVM实现案例比较好,这样就可以看到自己实现的时候有那些不方便的地方.而各种框架又是怎么解决我们这些麻烦的. 案例介绍:用户登录画面,没有 ...
- GROUP函数-GROUP_ID,GROUPING,GROUPING_ID
GROUP_ID 首先我们看看官方的解释: 大意是GROUP_ID用于区分相同分组标准的分组统计结果. 解释起来比较抽象,下面我们来看看具体的案例. 例1:单一分组 SQL> select gr ...