//using FreeSql.Site.Entity; using FreeSql.Site.Entity; using FreeSql.Site.Entity.Common; using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Text; namespace FreeSql.Site.DAL { public class BaseDAL where T : BaseEntity { /// /// 新增方法 /// /// /// public virtual long Insert(T model) { return DataBaseType.MySql.DB().Insert(model).ExecuteIdentity(); } /// /// 修改方法 /// /// /// public virtual bool Update(T model) { var runsql = DataBaseType.MySql.DB().Update().SetSource(model); return runsql.ExecuteAffrows() > 0; } /// /// 删除方法 /// /// /// public virtual bool Delete(long id) { return DataBaseType.MySql.DB().Delete(id).ExecuteDeleted().Count > 0; } /// /// 获取一条数据 /// /// /// public virtual T GetByOne(Expression> where) { return DataBaseType.MySql.DB().Select() .Where(where).ToOne(); } /// /// 查询方法 /// /// /// /// public virtual (List list, long count) Query(Expression> where, Expression> orderby = null, PageInfo pageInfo = null) { //设置查询条件 var list = DataBaseType.MySql.DB().Select() .Where(where); BaseEntity baseEntity = new BaseEntity(); //设置排序 if (orderby != null) list = list.OrderBy(nameof(baseEntity.CreateDt) + " desc "); var count = list.Count(); //设置分页操作 if (pageInfo != null && pageInfo.IsPaging) list.Skip(pageInfo.PageIndex * pageInfo.PageSize).Limit(pageInfo.PageSize); //执行查询 return (list.ToList(), count); } } }