mvc4 于ef5

1.不用ef的用法 是创建edml的数据库文件。
需要用using去引用。
1.1查询
using (AIMSOpenDataContext aimsdb = new AIMSOpenDataContext())
{
T_ApplicationForm alf = aimsdb.T_ApplicationForm.FirstOrDefault(e => e.IUID ==
Convert.ToInt32(Request.Form["UIID"]));
}
1.2增、改
aimsdb.Appliciant.InsertOnSubmit(u);
aimsdb.SubmitChanges();
1.3删除
agen.PercapitaApplicationt.InsertOnSubmit(domain);
agen.SubmitChanges();

2.ef的用法是创建一个数据库模型。添加表。dbml
只需要dbcontext
2.1查询

lamda或者linq

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的写法
public int ExcuteSql(string sql, params ObjectParameter[] parameters)
{
return DbContext.ExecuteFunction(sql, parameters);
}
//EF5.0的写法
public int ExecuteSql(string sql, params System.Data.SqlClient.SqlParameter[] pars)
{
return DbContext.Database.ExecuteSqlCommand(sql, pars);
}

原文地址:https://www.cnblogs.com/cylblogs/p/4873776.html