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

 // 实现对数据库的添加功能,添加实现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         }

你可能感兴趣的:(区别)