RuoVea.ExSugar
5.0.0
There is a newer version of this package available.
See the version list below for details.
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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 | Versions 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.
-
net5.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 5.0.0)
- RuoVea.ExConfig (>= 5.0.8)
- RuoVea.ExEvenBus (>= 5.0.1)
- SqlSugarCore (>= 5.0.6)
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 |