RuoVea.ExSugar 5.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package RuoVea.ExSugar --version 5.0.0                
NuGet\Install-Package RuoVea.ExSugar -Version 5.0.0                
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="5.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RuoVea.ExSugar --version 5.0.0                
#r "nuget: RuoVea.ExSugar, 5.0.0"                
#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=5.0.0

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

RuoVea.ExSqlSugar

/* 打印sql语句*/ "PrintSql": true,

    private void SqlSugarConfigure(IServiceCollection services)
    {
        #region 配置sqlsuagr
        List<ConnectionConfig> connectConfigList = new List<ConnectionConfig>();
        //数据库序号从0开始,默认数据库为0
        var config= App.GetConfig<ConnectionDb>("ConnectionStrings");
        //默认数据库
        connectConfigList.Add(new ConnectionConfig
        {
            ConnectionString = config.DefaultDbString,
            DbType = (DbType)Convert.ToInt32(Enum.Parse(typeof(DbType), config.DefaultDbType)),
            IsAutoCloseConnection = true,
            ConfigId = config.DefaultDbNumber,
            InitKeyType = InitKeyType.Attribute
        });
        //业务数据库集合
        foreach (var item in config.DbConfigs)
		{
            connectConfigList.Add(new ConnectionConfig
            {
                ConnectionString = item.DbString,
                DbType = (DbType)Convert.ToInt32(Enum.Parse(typeof(DbType), item.DbType)),
                IsAutoCloseConnection = true,
                ConfigId = item.DbNumber,
                InitKeyType = InitKeyType.Attribute
            });
        }
        services.AddSqlSugar(connectConfigList.ToArray()
            , db =>
            {
                db.Aop.OnLogExecuting = (sql, pars) =>
                {
                    if (sql.StartsWith("SELECT"))
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                    }
                    if (sql.StartsWith("UPDATE") || sql.StartsWith("INSERT"))
                    {
                        Console.ForegroundColor = ConsoleColor.White;
                    }
                    if (sql.StartsWith("DELETE"))
                    {
                        Console.ForegroundColor = ConsoleColor.Blue;
                    }
                    //App.PrintToMiniProfiler("SqlSugar", "Info", sql + "\r\n" + db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
                    Console.WriteLine(sql + "\r\n\r\n" + SqlProfiler.ParameterFormat(sql, pars));
                    App.PrintToMiniProfiler("SqlSugar", "Info", SqlProfiler.ParameterFormat(sql, pars));
                };
                //执行超时时间
                db.Ado.CommandTimeOut = 30;
                //配置多租户全局过滤器
                db.QueryFilter.Add(new TableFilterItem<SysUser>(FilterExpression<SysUser>()));
                db.QueryFilter.Add(new TableFilterItem<SysOrg>(FilterExpression<SysOrg>()));
                db.QueryFilter.Add(new TableFilterItem<SysPos>(FilterExpression<SysPos>()));
                db.QueryFilter.Add(new TableFilterItem<SysRole>(FilterExpression<SysRole>()));
                db.QueryFilter.Add(new TableFilterItem<OnlineUser>(FilterExpression()));

                // 配置加删除全局过滤器
                db.QueryFilter.Add(new TableFilterItem<SysApp>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysCodeGen>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysCodeGenConfig>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysDictData>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysDictType>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysFile>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysMenu>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysNotice>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysOauthUser>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysOrg>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysPos>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysRole>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysTimer>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysUser>(it => it.IsDeleted == false));
                db.QueryFilter.Add(new TableFilterItem<SysTenant>(it => it.IsDeleted == false));
            });
        #endregion
    }

    /// <summary>
    /// 获取当前租户id
    /// </summary>
    /// <returns></returns>
    private object GetTenantId()
    {
        if (App.User == null) return null;
        return App.User.FindFirst(ClaimConst.TENANT_ID)?.Value;
    }

    /// <summary>
    /// 判断是不是超级管理员
    /// </summary>
    /// <returns></returns>
    private bool IsSuperAdmin()
    {
        if (App.User == null) return false;
        return App.User.FindFirst(ClaimConst.CLAINM_SUPERADMIN)?.Value == AdminType.SuperAdmin.GetHashCode().ToString();
    }

    /// <summary>
    /// 非超级管理员默认添加租户过滤
    /// </summary>
    /// <returns></returns>
    private Expression<Func<T, bool>> FilterExpression<T>() where T : DBEntityTenant
    {
        var superAdminViewAllData = Convert.ToBoolean(App.Configuration["SystemSettings:SuperAdminViewAllData"]);
        if (IsSuperAdmin() && superAdminViewAllData) return m => true;
        return m => m.TenantId == long.Parse(GetTenantId().ToString());
    }

    /// <summary>
    /// 非超级管理员默认添加租户过滤
    /// 在线用户比较特殊,数据库表格设计问题
    /// </summary>
    /// <returns></returns>
    private Expression<Func<OnlineUser, bool>> FilterExpression()
    {
        var superAdminViewAllData = Convert.ToBoolean(App.Configuration["SystemSettings:SuperAdminViewAllData"]);
        if (IsSuperAdmin() && superAdminViewAllData) return m => true;
        return m => m.TenantId == long.Parse(GetTenantId().ToString());
    }
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 (3)

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

Package Downloads
RuoVea.OmiApi.Config

参数配置接口

RuoVea.OmiApi.Dict

字典管理

RuoVea.OmiApi.Log

日志管理

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0.10 88 11/1/2024
8.0.0.9 82 10/26/2024
8.0.0.8 73 10/25/2024
8.0.0.7 86 10/10/2024
8.0.0.6 91 9/24/2024
8.0.0.5 95 9/22/2024
8.0.0.4 81 9/22/2024
8.0.0.3 98 9/19/2024
8.0.0.2 111 9/11/2024
8.0.0.1 109 8/29/2024
8.0.0 110 8/28/2024
7.0.0.10 72 11/1/2024
7.0.0.9 74 10/26/2024
7.0.0.8 69 10/25/2024
7.0.0.7 91 10/10/2024
7.0.0.6 83 9/24/2024
7.0.0.5 90 9/22/2024
7.0.0.4 93 9/22/2024
7.0.0.3 89 9/19/2024
7.0.0.2 107 9/11/2024
7.0.0.1 103 8/29/2024
7.0.0 106 8/28/2024
6.0.18.13 1,551 11/1/2024
6.0.18.12 416 10/26/2024
6.0.18.11 78 10/25/2024
6.0.18.10 246 10/10/2024
6.0.18.9 576 9/24/2024
6.0.18.8 163 9/22/2024
6.0.18.7 97 9/19/2024
6.0.18.6 157 9/11/2024
6.0.18.5 115 8/29/2024
6.0.18.4 95 8/28/2024
6.0.18.3 120 8/25/2024
6.0.18.2 141 3/13/2024
6.0.18.1 135 3/13/2024
6.0.18 259 3/25/2023
6.0.17 242 3/25/2023
6.0.16 242 3/25/2023
6.0.15 254 3/24/2023
6.0.13 233 3/15/2023
6.0.12 232 3/14/2023
6.0.11 250 3/14/2023
6.0.10 277 3/11/2023
6.0.9 503 8/22/2022
6.0.8 471 8/18/2022
6.0.7 450 8/17/2022
6.0.6 476 8/16/2022
6.0.5 492 7/5/2022
6.0.4 496 7/5/2022
6.0.3 525 6/10/2022
6.0.2 566 4/11/2022
6.0.1 575 4/11/2022
6.0.0 587 3/18/2022
5.0.1.5 75 11/1/2024
5.0.1.4 77 10/26/2024
5.0.1.3 72 10/25/2024
5.0.1.2 82 10/10/2024
5.0.1.1 89 9/24/2024
5.0.1 644 3/18/2022
5.0.0 561 3/18/2022