当前位置:Gxlcms >
数据库问题 >
MVC ---- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
MVC ---- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
时间:2021-07-01 10:21:17
帮助过:36人阅读
public T AddEntity(T entity)
{
//EF4.0的写法
添加实体
//db.CreateObjectSet<T>().AddObject(entity);
//EF5.0的写法
db.Entry<T>(entity).State =
EntityState.Added;
//下面的写法统一
db.SaveChanges();
return entity;
}
public bool UpdateEntity(T entity)
{
//EF4.0的写法
//db.CreateObjectSet<T>().Addach(entity);
//db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
//EF5.0的写法
db.Set<T>
().Attach(entity);
db.Entry<T>(entity).State =
EntityState.Modified;
return db.SaveChanges() >
0;
}
public bool DeleteEntity(T entity)
{
//EF4.0的写法
//db.CreateObjectSet<T>().Addach(entity);
//db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
//EF5.0的写法
db.Set<T>
().Attach(entity);
db.Entry<T>(entity).State =
EntityState.Deleted;
return db.SaveChanges() >
0;
}
public IQueryable<T> LoadEntities(Func<T,
bool>
whereLambda)
{
//EF4.0的写法
//return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
//EF5.0的写法
return db.Set<T>().Where<T>
(whereLambda).AsQueryable();
}
执行SQL语句
//EF4.0的写法
//int ExcuteSql(string strSql, ObjectParameter[] parameters);
return EFContextFactory.GetCurrentDbContext().ExecuteFunction(strSql, parameters);
//EF5.0的写法
int ExcuteSql(
string strSql, DbParameter[] parameters);
return DEFContextFactory.GetCurrentDbContext().ExecuteSqlCommand(strSql, parameters);
来源:http://blog.csdn.net/xjn030594/article/details/8946996
MVC ---- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
标签:tee color 执行 parameter 执行sql entry upd cti context