using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CommonLib.DBUtils.SqlSugar
{
/// <summary>
/// SqlSugar仓储基类
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
public abstract class BaseDAL<T> : SimpleClient<T>, IBaseDAL<T> where T : class, new()
{
public BaseDAL(ISqlSugarClient context = null) : base(context)//注意这里要有默认值等于null
{
base.Context = context;//ioc注入的对象
}
/// <summary>
/// 添加对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns>布尔值</returns>
public virtual bool AddObj(T obj)
{
return Insert(obj);
}
/// <summary>
/// 删除对象(根据id)
/// </summary>
/// <param name="id">id</param>
/// <returns>布尔值</returns>
public virtual bool DeleteObjById(dynamic id)
{
return DeleteById(id);
}
/// <summary>
/// 删除对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public virtual bool DeleteObj(T obj)
{
return Delete(obj);
}
/// <summary>
/// 更新对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public virtual bool UpdateObj(T obj)
{
return Update(obj);
}
/// <summary>
/// 获取对象(根据id)
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
public virtual T GetObjById(dynamic id)
{
return GetById(id);
}
/// <summary>
/// 获取所有对象
/// </summary>
/// <returns></returns>
public virtual List<T> GetAllObjects()
{
return GetList();
}
// 可扩展其它可共用的操作方法
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CommonLib.DBUtils.SqlSugar
{
/// <summary>
/// 数据库访问基础接口(增删改查)
/// </summary>
public interface IBaseDAL<T>
{
/// <summary>
/// 添加对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns>布尔值</returns>
bool AddObj(T obj);
/// <summary>
/// 删除对象(根据id)
/// </summary>
/// <param name="id">id</param>
/// <returns>布尔值</returns>
bool DeleteObjById(dynamic id);
/// <summary>
/// 删除对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
bool DeleteObj(T obj);
/// <summary>
/// 更新对象
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
bool UpdateObj(T obj);
/// <summary>
/// 获取对象(根据id)
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
T GetObjById(dynamic id);
/// <summary>
/// 获取所有对象
/// </summary>
/// <returns></returns>
List<T> GetAllObjects();
}
}