OpenAuth.Net/docs/core/sqlsugar.md
2024-10-28 21:56:53 +08:00

1.9 KiB
Raw Permalink Blame History

SqlSugar访问数据库

SqlSugar 是一款老牌.NET开源ORM框架相对于EntityFramework复杂的Linq表达式它拥有灵活的动态查询如果你喜欢直接码Sql那么它是你的不二之选。OpenAuth.Net 6.0及以后版本默认支持使用SqlSugar方式访问数据库。目前大多数模块都已使用SqlSugar的方式这里以资源管理为例

public class ResourceApp:SqlSugarBaseApp<Resource>
    {
        public void Add(AddOrUpdateResReq resource)
        {
            ...
            Repository.Insert(obj);
        }

        public void Update(AddOrUpdateResReq obj)
        {
            Repository.Update(u => new Resource
            {
                Name = obj.Name,
                //todo:要修改的字段赋值
            },u => u.Id == obj.Id);
        }
       
        public void Delete(string[] ids)
        {
            Repository.DeleteByIds(ids);
        }

        public ResourceApp(ISqlSugarClient client, IAuth auth) : base(client, auth)
        {
        }

    }

使用方法

如上所示代码,只需要继承SqlSugarBaseApp即可使用SqlSugar强大功能。其中

Repository实现的是SqlSugar的仓储模式详细Api请查看SqlSugar使用仓储。在OpenAuth.Net中

public class ResourceApp:SqlSugarBaseApp<Resource>
    {
        public void Add(AddOrUpdateResReq resource)
        {
            ...
            Repository.Insert(obj);
        }
    }

SugarClient即SqlSugar最基础的数据库读写用法。详细Api请查看SqlSugar入门必看。在OpenAuth.Net中

public class ResourceApp:SqlSugarBaseApp<Resource>
    {
        public List<Resource> Load()
        {
            ...
            return SugarClient.Queryable<Resource>().ToList();
        }
    }