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

 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);

 

转载于:https://www.cnblogs.com/zhaozi/p/5238988.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值