using SqlSugar; using SqlSugar.IOC; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using VideoAnalysisCore.Model; namespace VideoAnalysisCore.Common { public class Repository : SimpleClient where T : class, new() { readonly Dictionary CID= new Dictionary(); public Repository() { SwitchConnection(); } public void SwitchConnection() { var t = typeof(T); if (CID.ContainsKey(t)) { base.Context = CID[t]!=null ? DbScoped.Sugar.GetConnectionScope(CID[t]) : DbScoped.Sugar; return; } var c = t.GetCustomAttribute(); if (!CID.ContainsKey(typeof(T))) CID.Add(typeof(T), c?.configId); base.Context = c != null ? DbScoped.Sugar.GetConnectionScope(c.configId) : DbScoped.Sugar; } } }