您的位置:首页 > 数据库

【EF】DBFirst数据库优先

2016-05-18 08:09 204 查看

一、前言

在前文中我们介绍了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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: