public class BaseDAL<T> where T : class,new()
{
protected DbContext dbContext = DbContextFactory.GetCurrentDbContext(); protected DbSet<T> dbSet
{
get
{
return dbContext.Set<T>();
}
} protected bool SaveChanges()
{
return dbContext.SaveChanges() > ;
} protected T Add(T entity)
{
entity = dbSet.Attach(entity);
dbContext.Entry<T>(entity).State = EntityState.Added;//dbSet.Add(entity);
return entity;
} protected void Delete(T entity)
{
dbContext.Entry<T>(entity).State = EntityState.Deleted;
} protected void Update(T entity)
{
dbContext.Entry<T>(entity).State = EntityState.Modified;
} protected T Select(Func<T, bool> whereLambda)
{
return dbSet.Where<T>(whereLambda).FirstOrDefault();
} protected List<T> SelectList(Func<T, bool> whereLambda)
{
return dbSet.Where<T>(whereLambda).ToList();
} protected List<T> SelectPageList<s>(int pageIndex, int pageSize, out int totalCount, Func<T, bool> whereLambda, Func<T, s> orderLambda, bool isAsc)
{
IEnumerable<T> enumerableList = dbSet.Where<T>(whereLambda);
totalCount = enumerableList.Count();
if (isAsc)
{
enumerableList = dbSet.Where<T>(whereLambda).OrderBy<T, s>(orderLambda).Skip<T>(pageSize * (pageIndex - )).Take<T>(pageSize);
}
else
{
enumerableList = dbSet.Where<T>(whereLambda).OrderByDescending<T, s>(orderLambda).Skip<T>(pageSize * (pageIndex - )).Take<T>(pageSize);
}
return enumerableList.ToList();
}
}
BaseDAL
public class DbContextFactory
{
public static DbContext GetCurrentDbContext()
{
DbContext dbContext = (DbContext)CallContext.GetData("dbContext");
if (dbContext == null)
{
dbContext = new jxcContext();
CallContext.SetData("dbContext", dbContext);
}
return dbContext;
}
}
DbContextFactory