本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作
1、通过EF设计器创建一个简单模型
(1)、右键目标项目添加新建项
(2)、选择ADO.Net实体数据模型,并将实体模型命名为Recipe1,点击下一步
(3)、选择空设计器,并点击完成
(4)、edmx空模型创建完毕,下一步右键设计界面创建实体
(5)、添加一个Person实体,实体属性如下图,并点击确定
图中创建键属性,实体会自动添加一个Id属性,并将该属性设为主键(数据库设计三范式之一,每个表必须有一个主键,且表中的每一列都和主键相关)
(6)、实体创建成功,如下图
(7)、给Person实体添加属性(包括导航属性和标量属性等),如下图
Name属性的详细设计界面如下图,基本都在vs的右下角
(8)、模型设计完毕,因为是第一次同步数据库,需要初始化一些信息(当然不初始化,模型设计器会采用默认值),右键右键计设器窗口,选择properties(属性)。更改数据库架构名称(Database Schema name)为Chapter2,更改实体容器名称(Entity Container Name)为EF6RecipesContext,如下图所示:
(9)、右键设计器,并更具模型生成数据库,如下图:
(10)、选择对应的数据库,并选择对应的实体框架,最终结果如下图:
(11)、点击完成,生成的Sql文件就会追加到你的项目中
(12)、右击设计器,执行该脚本,中途会让你连接到数据库,执行成功
表添加成功.
(2)、通过DbContext进行简单的增删查该操作
(1)、DbContext上下文对象介绍
数据库上下文对象,对于数据库的操作,基本都看它,使用完它,注意释放!!!!!!
(2)、使用DbContext上下文对象进行简单的增删查该
using (var context = new EF6RecipesContext()) { var person = new Person { Name = "张三" }; context.People.Add(person); var person1 = new Person { Name = "李四" }; context.People.Add(person1); var person2 = new Person { Name = "王五" }; context.People.Add(person2); context.SaveChanges(); } using (var context = new EF6RecipesContext()) { var perple = context.People; foreach (var person in perple) { Console.WriteLine("编号:{0} 姓名:{1}",person.Id,person.Name); } } Console.ReadKey();