众所周知,Entity Framework自4.x版本之后,开始支持Database First、Model First、Code First三种生成模式,在上一篇博客中,我们一起了解了其中的Code First(也有叫做CodeOnly的)模式,相比较而言Code First是一种比较先进的技术,我们只需写代码即可。这一次我们回过头去看看,EF框架中个人认为最简单的模式,那就是Database First。
顾名思义,DatabaseFirst就是围绕数据库为中心的开发方式,使用这种模式我们必须要先设计和创建数据库,然后使用VS在已有数据库的基础上创建ADO.NET实体数据模型,之后就可以在编程的过程中使用EF访问和操作数据库里的数据了,具体的如何使用,下面来看一个很简单的例子。
一,首先我们要创建一个示例数据库,因为这不是我们讨论的重点,所以笔者就直接从已有的数据库中找一个用来作为例子,如下图
二,接下来打开VS2012,按照下图的步骤建立edmx文件,
三,写测试代码,我们以插入数据为例,向StudentInfo表中添加一条记录,代码如下
<span style="font-size:18px;">namespace Database_First
{
class Program
{
static void Main(string[] args)
{
//创建数据库访问网关
using (DBExamEntities1 examentity =new DBExamEntities1 ())
{
//创建StudentInfo一个实体
T_StudentInfo student = new T_StudentInfo ();
student.StudentNo = "110";
student.StudentName = "李寻欢";
student.Sex = "男";
student.Grade = "大学一年级";
student.Age = "21";
//将创建的实体,放入网关的数据实体的集合
examentity.T_StudentInfo.Add(student);
//写回数据库
examentity.SaveChanges();
}
Console.WriteLine("OK");
}
}
}</span>
运行程序之后,在数据库中查看是否插入成功,如下图所示,成功插入数据
小结:母庸质疑,EntityFramework是一个非常便利和强大的ORM框架,而Database First又是三种模式中比较简便的开发方式,这种模式的最大好处是可以复用数据库,在有数据库的前提下,开发效率是杠杠的。