Files
Yi.Framework/CC.Yi.BLL/BaseBll.cs
454313500@qq.com 2e5b991db0 v1.0.0
2021-03-20 15:02:23 +08:00

87 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using CC.Yi.DALFactory;
using CC.Yi.IBLL;
using CC.Yi.IDAL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
namespace CC.Yi.BLL
{
public class BaseBll<T> : IBaseBll<T> where T : class, new()
{
public IBaseDal<T> CurrentDal;
public BaseBll(IBaseDal<T> cd)
{
CurrentDal = cd;
}
public IQueryable<T> GetAllEntities()
{
return CurrentDal.GetAllEntities();
}
public IQueryable<T> GetEntities(Expression<Func<T, bool>> whereLambda)
{
return CurrentDal.GetEntities(whereLambda);
}
public int GetCount(Expression<Func<T, bool>> whereLambda) //统计数量
{
return CurrentDal.GetCount(whereLambda);
}
public IQueryable<IGrouping<S, T>> GetGroup<S>(Expression<Func<T, bool>> whereLambda, Expression<Func<T, S>> groupByLambda) //分组
{
return CurrentDal.GetGroup(whereLambda, groupByLambda);
}
public IQueryable<T> GetPageEntities<S>(int pageSize, int pageIndex, out int total, Expression<Func<T, bool>> whereLambda, Expression<Func<T, S>> orderByLambda, bool isAsc)
{
return CurrentDal.GetPageEntities(pageSize, pageIndex, out total, whereLambda, orderByLambda, isAsc);
}
public T Add(T entity)
{
CurrentDal.Add(entity);
DbSession.SaveChanges();
return entity;
}
public bool Update(T entity)
{
CurrentDal.Update(entity);
return DbSession.SaveChanges() > 0;
}
public bool Delete(T entity)
{
CurrentDal.Delete(entity);
return DbSession.SaveChanges() > 0;
}
public IDbSession DbSession
{
get
{
return DbSessionFactory.GetCurrentDbSession();
}
}
public bool Delete(int id)
{
CurrentDal.Detete(id);
return DbSession.SaveChanges() > 0;
}
public int DeleteList(List<int> ids)
{
foreach (var id in ids)
{
CurrentDal.Detete(id);
}
return DbSession.SaveChanges();//这里把SaveChanges方法提到了循环体外自然就与数据库交互一次
}
}
}