一、前言
在前文中我们介绍了ORM,EF映射。其中EF映射有三种实现方法,这里小编就从最简单的给大家讲起——DSFirst。
二、内容介绍
DBFirst,从字面理解就是“数据库优先”。要先有数据库再有实体模型,所以前提是已经创建好了数据库。
具体看下面的实例.
三、实战演练
首先打开VS2012 ,选择控制台程序:
图一 选择控制台程序
图二 建立好的界面
然后在项目中添加ADO实体模型:
图三 选择ADO实体模型
选择ADO实体模型:
图四 选择ADO实体模型
选择模型类型:
图四 选择模型类型
如果是第一次新建EF模型,请看下面的步骤:
图五 选择数据库
这里点击更改可以选择要使用的数据库的类型,默认是SQL Server数据库。
图六 选择数据库
图七 选择数据库
下面的步骤应该都比较熟悉:
图八 选择数据库
图九 选择数据库
这里我们选择5.0:
图十 选择实体模式5.0
选择要实体化的表,点击确定,完成:
图十一 选择表
图十二 完成效果图
这样算是完成了我们任务的80%,接下来就是我们要对数据库进行增删改查了:
图十三 方法介绍
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
using System.Data;
namespace EFDBFirst
{
class Program
{
static void Main(string[] args)
{
#region 更新操作
//1.声明上下文
LoginEntities dbContext = new LoginEntities();
//2.对实体操作
//2.1 实例化要操作的实体,并赋值
USERS user = new USERS();
//更改属性, 必须给所有属性赋值
user.ID = 1;
user.Password = "2";
user.UserName = "Ares";
user.Email="18333602097@163.com";
//2.2 实体附加到上下文,并进行操作。
//实体附加到上下文
dbContext.USERS.Attach(user);
dbContext.Entry(user).State = EntityState.Modified; //实体已修改。
//dbContext.Entry(user).State = EntityState.Deleted; //标记实体以进行删除。
//dbContext.Entry(user).State = EntityState.Unchanged; //实体处于原始的、未经修改的状态。
//dbContext.Entry(user).State = EntityState.Added; //添加操作
//dbContext.Entry(user).State = EntityState.Detached; //实体未附加,也未处于被跟踪状态。
//3.调用SaveChange保存
dbContext.SaveChanges();
#endregion
}
}
}
从上面的图看出来,通过EF就轻松的修改了我们的数据库中的数据。是不是很简单。
四、小结
每一次锻炼都是提升,有了数据库,就有了实体,还可以通过EF映射来操纵数据库,对其进行增删改查。真是一个很不错的体验。这个技术方便了不少。下一篇博客将介绍ModelFirst。