您的位置:首页 > 其它

EntityFramework 入门 CRUD(新增、查询、修改、删除)

2016-07-21 16:45 381 查看
     IT交流互助QQ群:79190545    (Sql Server / Java / Asp.Net / C# / JS / Jquery / Oracle / My Sql / ) 
          -- 欢迎大家进来 聊天,交流 !!。(定期清理 不说话、潜水太深的同学)

    
Entity Framework  总共有三种开发模式实现数据访问 :

                     1. DataBase First 

                                   以数据库设计为基础,并根据数据库自动生成实体数据模型,从而驱动整个开发流程。该模式的好处在于使用简单,容易入手。

                       2. Model First 

                                   以建立实体数据模型入手,并依据模型生成数据库,从而驱动整个开发流程。该模式也就是业界流行的面向领域的编程模式,它的优点在于,程序员可以用与设计建模相同的思维来进行代码编写,更符合面向对象的思想。Model First与Database First是互逆的,但最终都是输出数据库和实体数据模型。
                      3. Code
First

                                  以程序员完全通过手动编码,就可以使用Entity Framewokr技术来实现数据访问。该模式的优点在于,支持POCO(Plain Old CLR Objects,简单传统CLR对象),代码整洁,程序员对代码的控制也更灵活自如。(也有人称: Code Only)

一、 Entity Framework DataBase First  :

1. 项目中引用 EntityFramework       

             EntityFramework  其他版本可在: http://www.nuget.org/  找到对应的项目以源码 ! 
          本文以 EntityFramework.6.1.3版本为例

       

       首先我们打开项目,点击-工具--》NuGet 包管理器--》程序包管理器控制台 

       在控制台输入安装命令: Install-Package EntityFramework -Version 6.1.3 (然后回车确认安装)



[b]2.  DataBase First [/b][b]项目中CRUD案例[/b]

[b]     [/b]首先创建 EF 映射关系

[b]








[/b]

[b]2.1  新增[/b]

[b] 
[/b]<span style="font-size:10px;">using (var db = new DataBaseFirst())
{
Users u = new Users();
u.IsDelete = false;
u.Name = "张三";
u.Status = 0;
u.UserID = "dyx";
u.UserPwd = "1234567";
db.Users.Add(u);
int iResult = db.SaveChanges(); //插入数据库 并且-返回 影响行数
}</span>

2.2 查询

[b]  [/b]

<span style="font-size:10px;">using (var db = new DataBaseFirst())
{
User1 u = db.Users1.Where(p => p.id == 1).FirstOrDefault();   //根据 自增ID 查询
}</span>




[b]2.3 修改

[/b]<span style="font-size:10px;">//方法 一 :
// 注 : 根据 Sql Server Profiler 工具监视,此方法会连接 2 次 数据库。
// 一般不建议采用此方法, 后期会更新 另外的方法。

//根据自增ID查询出需要修改的数据
Users us = db.Users.Where(p => p.id == 1).FirstOrDefault();
us.IsDelete = true; //将需要修改的数据重新赋值
us.Name = "张三和李四";//将需要修改的数据重新赋值
int iResult = db.SaveChanges(); //保存到数据库 并且-返回 影响行数

//方法 二 :
//建议使用该方法
//后期更新</span>

2.4 删除



//方法 一 :
// 注 : 根据 Sql Server Profiler 工具监视,此方法会连接 2 次 数据库。
// 一般不建议采用此方法, 后期会更新 另外的方法。
using (var db = new DataBaseFirst())
{
User1 u = db.Users.Where(p => p.id == 1).FirstOrDefault();  //根据自增ID查询出需要删除的数据
User1 user = db.Users.Remove(u);  //删除
int iResult= db.SaveChanges();   //保存到数据库  并且-返回 影响行数

}

//方法 二 :
//建议使用该方法
//后期更新






     IT交流互助QQ群:79190545    (Sql Server / Java / Asp.Net / C# / JS / Jquery / Oracle / My Sql / ) 
          -- 欢迎大家进来 聊天,交流 !!。(定期清理 不说话、潜水太深的同学)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息