1 public T AddEntity(T entity)
2 {
3 //EF4.0的写法
4 添加实体
5 //db.CreateObjectSet<T>().AddObject(entity);
6 //EF5.0的写法
7 db.Entry<T>(entity).State = EntityState.Added;
8 //下面的写法统一
9 db.SaveChanges();
10 return entity;
11 }
12 public bool UpdateEntity(T entity)
13 {
14 //EF4.0的写法
15 //db.CreateObjectSet<T>().Addach(entity);
16 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
17 //EF5.0的写法
18 db.Set<T>().Attach(entity);
19 db.Entry<T>(entity).State = EntityState.Modified;
20 return db.SaveChanges() > 0;
21 }
22 public bool DeleteEntity(T entity)
23 {
24 //EF4.0的写法
25 //db.CreateObjectSet<T>().Addach(entity);
26 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
27 //EF5.0的写法
28 db.Set<T>().Attach(entity);
29 db.Entry<T>(entity).State = EntityState.Deleted;
30 return db.SaveChanges() > 0;
31 }
32
33 public IQueryable<T> LoadEntities(Func<T, bool> whereLambda)
34 {
35 //EF4.0的写法
36 //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
37 //EF5.0的写法
38 return db.Set<T>().Where<T>(whereLambda).AsQueryable();
39 }
执行SQL语句
1 //EF4.0的写法
2 //int ExcuteSql(string strSql, ObjectParameter[] parameters);
3 return EFContextFactory.GetCurrentDbContext().ExecuteFunction(strSql, parameters);
4 //EF5.0的写法
5 int ExcuteSql(string strSql, DbParameter[] parameters);
6 return DEFContextFactory.GetCurrentDbContext().ExecuteSqlCommand(strSql, parameters);

EF4.0和EF5.0增删改查写法区别的更多相关文章

  1. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  2. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  3. primefaces4.0基本教程以及增删改查

    最近试着用了用primefaces4.0,准备写一个基本的增删改查以及分页程序,但在写的过程中发现了很多问题,本想通过百度.谷歌解决,但无奈中文资料非常少,笔者在坑中不停的打滚,终于完成了一个有着基本 ...

  4. [py]flask从0到1-模板/增删改查

    flask知识点 1.后端渲染html到前端 render_template 2.后端获取前端数据 request.args.get 3.前端获取后端数据 模板 4.警示消息 flash {{ get ...

  5. NetCore2.0 RozarPage自动生成增删改查

    原文链接:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/web-api-help-pages-using-swagger 上面的只是原文 ...

  6. Python中列表、元组、字典增删改查基本区别

    1.定义: 列表:num = ["a","b"."c"] ##定义后可增删改查 元组:num = ("a"," ...

  7. LINQ的增删改查写法&&组合查询

    .ToList();//返回一个集合,包含查到的所有值: .First();//返回查到的第一条数据,如果查不到会报错: .FirstOrDefault();返回查到的第一条数据,差不到返回一个nul ...

  8. hibernate课程 初探单表映射3-5 hibernate增删改查

    本节简介: 1 增删改查写法 2 查询load和查询get方法的区别 3 demo 1 增删改查写法 增加 session.save() 修改 session.update() 删除 session. ...

  9. EF4.0和EF5.0增删改查的写法区别及执行Sql的方法

    EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...

随机推荐

  1. win8 telnet VirtualBox中的redhat9

    1. VirtualBox设置网络连接为“桥接网卡”,并且此网卡要为win8正在使用的网卡(比如我的电脑上使用的就是无线网卡,则选择网卡时也要用无线网卡) 2. 在redhat的终端里,运行ifcon ...

  2. html利用锚点实现定位代码实例

    本章节介绍介绍一下如何利用锚点实现定位,使用锚点实现定位是html固有的功能,当然比较简单,也实现了基本的功能,但是功能相对简单一些,如果想要实现平滑的定位可以参阅jquery实现的点击页面动画方式平 ...

  3. BZOJ3473: 字符串

    3473: 字符串 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 109  Solved: 47[Submit][Status] Descriptio ...

  4. map中的erase成员函数用法

    转载于 http://www.cnblogs.com/graphics/archive/2010/07/05/1771110.html  http://hi.baidu.com/sdkinger/it ...

  5. [BC]BestCoder Round#86小结

    1001 [题意] 给定一个长度为n(n<=100000)的正整数序列,给出m(m<=100000)个子集合和的记录,问哪些一定比正确的记录多了 [题解] 对正整数序列求和,记录比和大的一 ...

  6. [C/CPP系列知识] 那些程序C语言可以编译通过但C++无法编译成功 Write a C program that won’t compile in C++

    http://www.geeksforgeeks.org/write-c-program-wont-compiler-c/ 1) C++中在函数声明之前调用一个函数会引发错误,但是在C中有可能可以. ...

  7. Unity3d 一些 常见路径

    Application.persistentDataPath C:\Users\Administrator\AppData\LocalLow\Company Name\Product Name 如果改 ...

  8. Unity3D研究院之脚本批量打包渠道包研究

    原地址:http://www.xuanyusong.com/archives/2418#comments 最近在研究Unity3D脚本批量打包,比如在Android平台下各种不同分辨率和不同内存大小的 ...

  9. jstl删除session,choose,动态获取request当前工程路径

    1.jstl标签c:remove删除session request.getSession().setAttribute("ssmsg", "修改成功"); &l ...

  10. POJ 1740

    #include <iostream> #define MAXN 100 using namespace std; int _m[MAXN]; bool mark[MAXN]; int m ...