// 实现对数据库的添加功能,添加实现EF框架的引用
40
41 public T AddEntity(T entity)
42
43 {
44
45 //EF4.0的写法 添加实体
46
47 //db.CreateObjectSet<T>().AddObject(entity);
48
49 //EF5.0的写法
50
51 db.Entry<T>(entity).State = EntityState.Added;
52
53
54
55 //下面的写法统一
56
57 db.SaveChanges();
58
59 return entity;
60
61 }
62
63
64
65 //实现对数据库的修改功能
66
67 public bool UpdateEntity(T entity)
68
69 {
70
71 //EF4.0的写法
72
73 //db.CreateObjectSet<T>().Addach(entity);
74
75 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
76
77 //EF5.0的写法
78
79 db.Set<T>().Attach(entity);
80
81 db.Entry<T>(entity).State = EntityState.Modified;
82
83
84
85 return db.SaveChanges() > 0;
86
87 }
88
89
90
91 //实现对数据库的删除功能
92
93 public bool DeleteEntity(T entity)
94
95 {
96
97 //EF4.0的写法
98
99 //db.CreateObjectSet<T>().Addach(entity);
100
101 //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
102
103 //EF5.0的写法
104
105 db.Set<T>().Attach(entity);
106
107 db.Entry<T>(entity).State = EntityState.Deleted;
108
109
110
111 return db.SaveChanges() > 0;
112
113 }
114
115
116
117 //实现对数据库的查询 --简单查询
118
119 public IQueryable<T> LoadEntities(Func<T, bool> whereLambda)
120
121 {
122
123 //EF4.0的写法
124
125 //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
126
127 //EF5.0的写法
128
129 return db.Set<T>().Where<T>(whereLambda).AsQueryable();
130
131 }

EF 5.0 和 EF4.0 语法区别的更多相关文章

  1. mvc4.0添加EF4.0时发生编译时错误

    解决此问题是因为MVC4.0默认未添加EF4.0的引用,EF4.0引用的是System.Data.Entity.dll, Version=4.0.0.0, 解决办法: 在web.config文件sys ...

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

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

  3. EF5.0区别于EF4.0的增删改写法

    // 实现对数据库的添加功能,添加实现EF框架的引用 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T& ...

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

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

  5. EF4.0和EF5.0增删改查写法区别

    1 public T AddEntity(T entity) 2 { 3 //EF4.0的写法 4 添加实体 5 //db.CreateObjectSet<T>().AddObject(e ...

  6. EF5.0区别于EF4.0的crud区别

    public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>().AddObject(entity); // ...

  7. GLSL ES 3.0 和 2.0 的区别

    GLSL ES 3.0 和 2.0 的区别 语法区别 attribute和varying. 取而代之的是 in和out 头文件多了个#version 300 es 纹理 texture2D 和 tex ...

  8. 计算机网络【9】—— HTTP1.0和HTTP1.1的区别及常见状态码

    一.HTTP1.0与HTTP1.1的区别 1.HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持 ...

  9. bootstrap2.0与3.0的区别

    在阅读这篇bootstrap2.0与3.0的区别的文章之前,大家一定要先了解什么是响应式网站设计?推荐大家看看这篇"教你快速了解响应式网站设计" . 我觉得bootstrap的可视 ...

随机推荐

  1. C++ cout cerr 和 clog 的区别

    我们都知道C++预定义了cin(标准输入流)和cout(标准输出流).但今天突然又蹦出来两个cerr(标准错误流(非缓冲))和clog(标准错误流(缓冲)),本着学习提高的态度在网上搜索了相关内容,下 ...

  2. Codeforces 193D Two Segments 解题报告

    先是在蓝桥杯的网站上看到一道题: 给出1~n的一个排列,求出区间内所有数是连续自然数的区间的个数.n<=50000. 由于数据较弱,即使用O(N^2)的算法也能拿到满分. 于是在CF上发现了这一 ...

  3. Linux(Debian)下Maven的安装

    Maven的下载地址:http://maven.apache.org/download.cgi这里以最新的3.3.9版本为例进行安装,在这之前需要确保机器上已经安装了JDK. -- 在home文件夹中 ...

  4. InvalidArgument=Value of '1' is not valid for 'index'

    用ListView实现点击ListView的项删除该项的效果,调用ItemSelectionChanged事件. 代码如下: private void listView1_ItemSelectionC ...

  5. Js设置所有连接是触发/swt/的代码

    Js设置所有连接是触发/swt/的代码 代码为: <script> var doca=document.getElementsByTagName('a'); for(var i=0;i&l ...

  6. css实现三角的一些方法

    css实现三角没有想象中的那么难,只要明白border的各种属性的意思就很好明白css三角是如何实现的. 一下是几个很简单的例子:   css三角形状的制作:     css样式:    .trian ...

  7. thinkphp微信开发之jssdk图片上传并下载到本地服务器

    public function test2(){ $Weixin = new \Weixin\Controller\BaseController(); $this->assign('signPa ...

  8. Day8 面向对象(补充)

    私有字段 class Foo: def __init__(self, name): self.__name = name def f1(self): print(self.__name) class ...

  9. 使用 Scut 搭建通服架构

    整体通服的架构图如下: 整体思路: 尽量将公共的业务逻辑分拆到单个业务服务器: 公共业务RDB读写分离,提高IO并发量: 角色简要信息.角色战斗信息修改后将ID压入修改队列,简要信息每3分钟通知同步一 ...

  10. 原 IOS之NSValue整理

    原 IOS之NSValue整理 发表于2年前(2013-02-28 23:02)   阅读(1974) | 评论(0) 5人收藏此文章, 我要收藏 赞3 IOS NSValue 值对象(value o ...