RuoVea.ExSugar 8.0.0.9

dotnet add package RuoVea.ExSugar --version 8.0.0.9                
NuGet\Install-Package RuoVea.ExSugar -Version 8.0.0.9                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RuoVea.ExSugar" Version="8.0.0.9" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RuoVea.ExSugar --version 8.0.0.9                
#r "nuget: RuoVea.ExSugar, 8.0.0.9"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RuoVea.ExSugar as a Cake Addin
#addin nuget:?package=RuoVea.ExSugar&version=8.0.0.9

// Install RuoVea.ExSugar as a Cake Tool
#tool nuget:?package=RuoVea.ExSugar&version=8.0.0.9                

RuoVea.ExSqlSugar

ExSqlSugar SqlSugar扩展类库,支持简体中文、繁体中文、粤语、日语、法语、英语.

使用方式

方式一、

1.定义类 DefultDbContext继承 DbContext

/// <summary>
/// DefultDbContext
/// </summary>
public class DefultDbContext : DbContext
{
    /// <summary>
    /// DefultDbContext
    /// </summary>
    /// <param name="config"></param>
    public DefultDbContext(ConnectionConfig config) : base(config)
    {
    }
}

2.注入使用DbContext:builder.Services.AddDbContextSetup(x=>{});

builder.Services
    .AddDbContextSetup(provide=>new DefultDbContext(AppSettings.GetSection("DefultDbConnString").Get<ConnectionConfig>()))

3.使用的地方注入这个DefultDbContext

public class DemoService : IDemoService
{
    private readonly DefultDbContext _defultDbContext;
    /// <summary>
    /// 
    /// </summary>
    /// <param name="defultDbContext"></param>
    public DemoService(DefultDbContext defultDbContext)
    {
        _defultDbContext = defultDbContext;
    }
}

方式二、

注册服务

builder.Services.AddSqlSugarSetup(...);// 注册服务

builder.Services.AddSqlSugarSetup();// 注册服务

使用的地方使用

public class DemoService: IDemoService
{
    SugarRepository<SysUser>  _sysUserRepository;

    public DemoService(SugarRepository<SysUser> sysUserRepository) {
        _sysUserRepository = sysUserRepository;
    }
}

两种方式默认开启了标记删除过滤

按照程序集方式注入应用服务 builder.Services.AddInjectServiceSetup(assembly,)

添加sql执行相关日志

builder.Services.AddRestFulLogSetup<TFilterType>();

创建时

字段属性包涵

CreateTime||create_time 默认赋值系统当前时间
Creator 赋值当前登录用户(若有)
IsDelete||is_delete 赋值默认值0

修改时

字段属性包涵

ModifyTime||modify_time 默认赋值系统当前时间
Modifier 赋值当前登录用户(若有)

查询时

字段模型继承了

1、IDeletedEntity 将自动过滤 IsDeleted数据

2、EntityBase、ICreatorFilter 将自动过滤 UserId数据

内置过滤器

配置实体假删除过滤器

IDeletedEntity

创建用户赋值

EntityBase、ICreatorFilter

租户数据过滤

ITenantIdFilter

自定义实体过滤器接口

ICustormerEntityFilter

内置事务单元

使用方式、

1、开启事务单元 services.AddSqlSugarSetup(IsAllUnitOfWork:true);// 注册服务 开启全局事务单元

2、在需要开启的控制器方法增加事务单元特性 [UnitOfWork]

配置文件

{
  /* 数据库链接 具体配置见SqlSugar官网(第一个为默认库不需要设置ConfigId)*/
  "ConnectionConfigs": [
    {
      "DbType": "Sqlite", /*MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access、OpenGauss、QuestDB、HG、ClickHouse、GBase、Odbc、Custom */
      "ConnectionString": "DataSource=./ruovea.dll", /*库连接字符串*/
      "EnableUnderLine": false, /*启用驼峰转下划线*/
      "EnableDiffLog": false, /*启用库表差异日志*/

      "IsEncrypt": false, /*是否加密*/
      "DbSecurity": "", /*链接字符串解密密钥*/

      "IsDeleteFilter": true, /*查询删除过滤 实体需继承 IDeletedEntity*/
      "IsUserIdFilter": false, /*查询过滤器默认为false,true的时候;当有用户cretor的时候将及时过滤 实体需继承ICreatorFilter或EntityBase*/
      "IsTenantIdFilter": false, /*查询过滤器 默认为false,true的时候;当有用户cretor的时候将及时过滤 实体需继承 ITenantIdFilter*/
      "CommandTimeOut": 30 /*设置 SQL 执行的超时时间(默认30)分钟 */
    }
    //  /*其他数据库配置(可以配置多个)*/
    //,{
    //  "ConfigId": "test",
    //  "DbType": "Sqlite",
    //  "ConnectionString": "DataSource=./test.db", // 库连接字符串

    //  "EnableUnderLine": false, /*启用驼峰转下划线*/
    //  "EnableDiffLog": false, /*启用库表差异日志*/

    //  "IsEncrypt": false, /*是否加密*/
    //  "DbSecurity": "", /*链接字符串解密密钥*/

    //  "IsDeleteFilter": true, /*查询删除过滤 实体需继承 IDeletedEntity*/
    //  "IsUserIdFilter": false, /*查询过滤器默认为false,true的时候;当有用户cretor的时候将及时过滤 实体需继承ICreatorFilter或EntityBase*/
    //  "IsTenantIdFilter": false, /*查询过滤器 默认为false,true的时候;当有用户cretor的时候将及时过滤 实体需继承 ITenantIdFilter*/
    //  "CommandTimeOut": 30 /*设置 SQL 执行的超时时间(默认30)分钟 */
    //}
  ]
}

继承RestFulLog 重写异常日志,操作日志,差异日志

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on RuoVea.ExSugar:

Package Downloads
RuoVea.OmiConfig

参数配置

RuoVea.OmiLog

日志管理

RuoVea.OmiDict

字典管理

RuoVea.OmiApi.Config

参数配置接口

RuoVea.OmiApi.Dict

字典管理

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0.9 68 10/26/2024
8.0.0.8 63 10/25/2024
8.0.0.7 76 10/10/2024
8.0.0.6 80 9/24/2024
8.0.0.5 82 9/22/2024
8.0.0.4 74 9/22/2024
8.0.0.3 89 9/19/2024
8.0.0.2 104 9/11/2024
8.0.0.1 103 8/29/2024
8.0.0 104 8/28/2024
7.0.0.9 59 10/26/2024
7.0.0.8 58 10/25/2024
7.0.0.7 79 10/10/2024
7.0.0.6 71 9/24/2024
7.0.0.5 77 9/22/2024
7.0.0.4 84 9/22/2024
7.0.0.3 80 9/19/2024
7.0.0.2 100 9/11/2024
7.0.0.1 97 8/29/2024
7.0.0 100 8/28/2024
6.0.18.12 313 10/26/2024
6.0.18.11 66 10/25/2024
6.0.18.10 228 10/10/2024
6.0.18.9 552 9/24/2024
6.0.18.8 156 9/22/2024
6.0.18.7 86 9/19/2024
6.0.18.6 147 9/11/2024
6.0.18.5 105 8/29/2024
6.0.18.4 88 8/28/2024
6.0.18.3 113 8/25/2024
6.0.18.2 135 3/13/2024
6.0.18.1 129 3/13/2024
6.0.18 253 3/25/2023
6.0.17 236 3/25/2023
6.0.16 236 3/25/2023
6.0.15 248 3/24/2023
6.0.13 227 3/15/2023
6.0.12 224 3/14/2023
6.0.11 244 3/14/2023
6.0.10 265 3/11/2023
6.0.9 497 8/22/2022
6.0.8 465 8/18/2022
6.0.7 444 8/17/2022
6.0.6 470 8/16/2022
6.0.5 486 7/5/2022
6.0.4 490 7/5/2022
6.0.3 519 6/10/2022
6.0.2 560 4/11/2022
6.0.1 569 4/11/2022
6.0.0 581 3/18/2022
5.0.1.4 64 10/26/2024
5.0.1.3 59 10/25/2024
5.0.1.2 70 10/10/2024
5.0.1.1 78 9/24/2024
5.0.1 638 3/18/2022
5.0.0 553 3/18/2022