数据操作层,泛型基接口的设计

来源:互联网 发布:php 遍历对象数据 编辑:程序博客网 时间:2024/06/05 20:22
using System;using System.Linq;using System.Linq.Expressions;namespace Tking.OA.IDAL{    /// <summary>    /// 数据驱动层的抽象,泛型基接口设计。数据持久层的实现技术,可以是:Dapper、Ado.Net、EntityFramework、NHibernate...    /// </summary>    /// <typeparam name="T">实体</typeparam>    public interface IBaseDAO<T> where T : class,new()    {        /// <summary>        /// 添加数据        /// </summary>        T Add(T m);        /// <summary>        /// 删除数据        /// </summary>        bool Delete(dynamic id);        /// <summary>        /// 更新数据        /// </summary>        bool Update(T m);        /// <summary>        /// 根据主键获取一条数据        /// </summary>        T GetById(dynamic id);        /// <summary>        /// 根据条件获取数据        /// </summary>        /// <param name="whereLambda">查询表达式</param>        IQueryable<T> GetList(Expression<Func<T, bool>> whereLambda);        /// <summary>        /// 根据条件获取分页数据列表        /// </summary>        /// <typeparam name="S">排序的关键字,由实体属性决定</typeparam>        /// <param name="pageSize">页显示记录数</param>        /// <param name="pageIndex">页码</param>        /// <param name="total">总数据条数</param>        /// <param name="whereLambda">查询表达式</param>        /// <param name="orderByLambda">排序表达式</param>        /// <param name="isAsc">是否降序获取</param>        IQueryable<T> GetListByPage<S>(int pageIndex, int pageSize, out int total,                                         Expression<Func<T, bool>> whereLambda,                                         Expression<Func<T, S>> orderByLambda, bool isAsc);        /// <summary>        /// 用于控制数据的批量提交        /// </summary>        int SaveChanges();    }}


0 0
原创粉丝点击