前言:去年刚工作的时候,也是刚刚正式接触.net,当时了解了EF以及三种开发模式,Database First、Model First 、Code First。公司用的开发模式是Database First,由于公司有一套成熟的框架,我只需要按部就班的开发即可,因此就没有详细学习过这些开发模式,总觉得缺点什么。正好这段时间没有什么任务,并且在博客园浏览学习了很多大神的对技术、生活、职业、人生的一些总结,学习很多,这几天对这三种开发模式有了进一步的理解。我觉得我也该学着给大家分享一些知识了,就先趁热打铁,把我对 ModelFirst的实现过程加以总结、分享下来,若有不当之处,还望各路大神多多指教
使用工具: win7操作系统,vs2012, sqlserver2008
开始:
1.新建项目:
2.在新建好的项目中新建ADO.NET实体数据模型,如下图
点击新建项后,弹出如下窗口:选中ADO.NET实体数据模型,填好新建项的名称,
点击添加后,开始选择模型内容,我们选择空模型,点击完成按钮
新建完成后,在vs2012页面上会弹出edmx关系图,如下
3.新增实体
在edmx关系图的空白处单击鼠标右键,添加实体
在弹出的窗口中添加实体内容,下图是创建了一个student实体,主键为ID
为实体添加属性:在student的属性上右键新增标量属性
在添加属性后,右键选择属性,可以在右方的标记处对属性进行修改
4 与数据库关联,生成相关数据表
在空白处单击右键,选择‘根据模型生成数据库’,弹出数据库连接窗口,点击新建连接
在弹出的窗口点击更改
选择Microsoft SQL Server,点击确定
在弹出的窗口中,填入你的数据库相关信息
连接成功后,单击下一步,
在弹出的窗口上点击完成,成功与sql server关联
完成上述操作后,Ctrl+Shift+S保存更新全部生成的页面
执行生成的sql脚本,找到系统生成的sql脚本,右键执行,即可在关联数据库中创建表
生成的数据表:
5 往数据表中添加数据
在Program类中添加代码
class="brush:csharp;gutter:true;">using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ModelFirst { class Program { static void Main(string[] args) { #region 添加数据 //1.声明上下文 ModelFirstContainer dbContext = new ModelFirstContainer(); //2.对数据库的操作 student st = new student();//实例化实体 //为实体赋值 st.ID = 1; st.NAME = "张三"; st.AGE = "18"; //增加实体到上下文 dbContext.studentSet.Attach(st); dbContext.Entry(st).State = System.Data.EntityState.Added; //保存 dbContext.SaveChanges(); #endregion } } }
运行程序后,在数据表中成功添加新的数据,如下图: