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 OnExecutingChangeSql(string sql, SugarParameter[] pars) { // 在这里,你可以从另一个数据库中加载租户信息,然后修改 SQL 语句。 // 例如,你可以添加一个 WHERE 子句来过滤租户数据。 // 假设你的租户信息存储在一个名为 Tenant 的表中 //var tenantId = ...; // 从某处获取当前租户 ID //var tenant = _tenantDb.Queryable().InSingle(tenantId); //// 然后,你可以修改 SQL 语句,添加一个 WHERE 子句来过滤租户数据 //sql += $" WHERE TenantId = {tenant.Id}"; return new KeyValuePair(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) { // 在这里,你可以处理差异日志事件。 } } }