【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。相关文章推荐
- Mysql命令大全
- USE “schema_name” in PostgreSQL
- is not allowed to connect to this MySQL server解决办法
- mysql防止重复插入记录方法总结
- mybatis 根据数据库表映射配置生成 模型 XML文件 Dao
- oracle for update和for update nowait的区别
- 无法升级数据库,因为此版本的SQLServer不支持该数据库的非发布版本(539)“解决方案
- Oracle 11g 的安装过程以及问题解决方案
- 分布式缓存memcached
- oracle基本使用和select基础
- 基于ACCESS和ASP的SQL多个表查询与计算统计代码(二)库存管理系统
- c3p0连接sql2005数据库
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- CI框架数据库查询之join用法分析
- Mysql命令alter add:增加表的字段
- 防止mysql重复插入记录的方法
- Mysql使用简单教程(三)
- MySQL binlog 远程备份方法详解
- 创建BankDB银行数据库,创建表,插…
- MySQL修改root密码