SQLServer数据库之SqlSugar简单工模式数据访问简单Demo
小标
2018-10-19
来源 :
阅读 6431
评论 0
摘要:本文主要向大家介绍了SQLServer数据库之SqlSugar简单工模式数据访问简单Demo,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
本文主要向大家介绍了SQLServer数据库之SqlSugar简单工模式数据访问简单Demo,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
1.Model层
2.抽象层实例:
基础接口
///
/// 基础接口
///
public interface IBaseAbstract
where T : class
{
#region 基础访问
///
/// 获取表达式树
///
///
Queryable GetQueryable();
///
/// 获取对象
///
/// 主键ID
///
T GetModel(object ID);
///
/// 添加对象
///
/// 对象
///
object Add(T model);
///
/// 修改对象
///
/// 对象
///
bool Update(T model);
///
/// 删除对象
///
/// 对象
///
bool Delete(T model);
///
/// 删除对象---主键删除的公共方法,只支持int类型
///
/// 主键ID
///
bool Delete(int ID);
#endregion
}
View Code
///
/// 学生接口定义
///
public interface IStudent : IBaseAbstract
{
#region 获取分页
///
/// 获取分页数据
///
/// 分页信息
///
List GetPage(PageInfo info,string search);
#endregion
#region 获取数量
///
/// 获取总数
///
///
int GetCount();
#endregion
}
View Code
3.实现成
基础类:
internal class BaseOperate where T : class, new()
{
protected SqlSugarClient db = null;
public BaseOperate()
{
db = SugarContext.GetInstance();
}
#region 基础访问
///
/// 获取表达式树
///
///
public Queryable GetQueryable()
{
return db.Queryable();
}
///
/// 获取对象
///
/// 主键ID
///
public T GetModel(object ID)
{
return GetQueryable().InSingle(ID);
}
///
/// 添加对象
///
/// 对象
///
public object Add(T model)
{
try
{
return db.Insert(model);
}
catch (Exception ex)
{
throw new Exception("添加对象失败,当前类型:"+(typeof(T).Name)+ex.Message,ex);
}
}
///
/// 修改对象
///
/// 对象
///
public bool Update(T model)
{
try
{
return db.Update(model);
}
catch (Exception ex)
{
throw new Exception("修改对象失败,当前类型:" + (typeof(T).Name), ex);
}
}
///
/// 删除对象
///
/// 对象
///
public bool Delete(T model)
{
try
{
return db.Delete(model);
}
catch (Exception ex)
{
throw new Exception("删除对象失败,当前类型:" + (typeof(T).Name), ex);
}
}
///
/// 删除对象,默认只支持int类型
///
/// 主键ID
///
public bool Delete(int ID)
{
try
{
return db.Delete(ID);
}
catch (Exception ex)
{
throw new Exception("删除对象失败,当前类型:" + (typeof(T).Name), ex);
}
}
#endregion
}
View Code
实现类:
///
/// 学生数据访问操作
///
internal class StudentOperate : BaseOperate, IStudent
{
#region 获取分页
///
/// 获取分页数据
///
/// 分页信息
///
public List GetPage(PageInfo info, string search)
{
//排序
var query = GetQueryable();
if (string.IsNullOrEmpty(search) == false)
{
query = query.Where(q => q.sno.Contains(search) || q.sname.Contains(search));
}
query = query.OrderBy(q => q.sbirthday);
info.RecordCount = query.Count();
//分页
return query.ToPageList(info.PageIndex, info.PageSize);
}
#endregion
#region 获取数量
///
/// 获取总数
///
///
public int GetCount()
{
return GetQueryable().Count();
}
#endregion
}
View Code
4.工厂类:
///
/// 获取数据操作接口
///
public class SugarFactory
{
public static IStudent GetStudent()
{
return new StudentOperate();
}
}
本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!
本文由 @小标 发布于职坐标。未经许可,禁止转载。
看完这篇文章有何感觉?已经有5人表态,0%的人喜欢
快给朋友分享吧~
评论(0)