You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
|
|
|
|
#region << 版 本 注 释 >>
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 版权所有 (c)2024 保留所有权
|
|
|
|
|
* CLR版本 4.0.30319.42000
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#endregion << 版 本 注 释 >>
|
|
|
|
|
|
|
|
|
|
namespace DS.Module.SqlSugar.aop
|
|
|
|
|
{
|
|
|
|
|
public class SqlSugarAop
|
|
|
|
|
{
|
|
|
|
|
private readonly ISqlSugarClient _tenantDb;
|
|
|
|
|
|
|
|
|
|
public SqlSugarAop(ISqlSugarClient tenantDb)
|
|
|
|
|
{
|
|
|
|
|
_tenantDb = tenantDb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public KeyValuePair<string, SugarParameter[]> OnExecutingChangeSql(string sql, SugarParameter[] pars)
|
|
|
|
|
{
|
|
|
|
|
// 在这里,你可以从另一个数据库中加载租户信息,然后修改 SQL 语句。
|
|
|
|
|
// 例如,你可以添加一个 WHERE 子句来过滤租户数据。
|
|
|
|
|
|
|
|
|
|
// 假设你的租户信息存储在一个名为 Tenant 的表中
|
|
|
|
|
//var tenantId = ...; // 从某处获取当前租户 ID
|
|
|
|
|
//var tenant = _tenantDb.Queryable<Tenant>().InSingle(tenantId);
|
|
|
|
|
|
|
|
|
|
//// 然后,你可以修改 SQL 语句,添加一个 WHERE 子句来过滤租户数据
|
|
|
|
|
//sql += $" WHERE TenantId = {tenant.Id}";
|
|
|
|
|
|
|
|
|
|
return new KeyValuePair<string, SugarParameter[]>(sql, pars);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnLogExecuting(string sql, SugarParameter[] pars)
|
|
|
|
|
{
|
|
|
|
|
// 在这里,你可以记录 SQL 语句和参数。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnLogExecuted(string sql, SugarParameter[] pars)
|
|
|
|
|
{
|
|
|
|
|
// 在这里,你可以记录 SQL 语句和参数。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnError(Exception ex)
|
|
|
|
|
{
|
|
|
|
|
// 在这里,你可以处理数据库操作的异常。
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnDiffLogEvent(DiffLogModel diffLogModel)
|
|
|
|
|
{
|
|
|
|
|
// 在这里,你可以处理差异日志事件。
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|