ef4.0写法


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值