/**************************IBaseDal.cs**********************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CZBK.ItcastOA.IDAL
{
public interface IBaseDal<T>where T:class,new()
{
IQueryable<T> LoadEntities(System.Linq.Expressions.Expression<Func<T, bool>> whereLambda);
IQueryable<T> LoadPageEntities<s>(int pageIndex, int pageSize, out int totalCount, System.Linq.Expressions.Expression<Func<T, bool>> whereLambda, System.Linq.Expressions.Expression<Func<T, s>> orderbyLambda, bool isAsc);//排序时,不知道按哪个属性进行排序,所以抽象出s
bool DeleteEntity(T entity);
bool EditEntity(T entity);
T AddEntity(T entity);
}
}
/********************************IUserInfoDal.cs*******************************/
using CZBK.ItcastOA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CZBK.ItcastOA.IDAL
{
public interface IUserInfoDal:IBaseDal<UserInfo>
{
//定义自己特有的方法。
}
}
/*****************************IDBSession.cs*****************************/
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CZBK.ItcastOA.IDAL
{
/// <summary>
/// 业务层调用的是数据会话层的接口。
/// </summary>
public interface IDBSession
{
DbContext Db { get; }
IUserInfoDal UserInfoDal { get; set; }
bool SaveChanges();
}
}