前言:去年刚工作的时候,也是刚刚正式接触.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类中添加代码
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
}
}
}
运行程序后,在数据表中成功添加新的数据,如下图:
下一篇 CodeFirst