protected async Task <List <T> > GetEntityListAsync <T>(SqlSugarProvider context, IDataReader dataReader) { Type type = typeof(T); var fieldNames = GetDataReaderNames(dataReader); string cacheKey = GetCacheKey(type, fieldNames); IDataReaderEntityBuilder <T> entytyList = context.Utilities.GetReflectionInoCacheInstance().GetOrCreate(cacheKey, () => { var cacheResult = new IDataReaderEntityBuilder <T>(context, dataReader, fieldNames).CreateBuilder(type); return(cacheResult); }); List <T> result = new List <T>(); try { if (dataReader == null) { return(result); } while (await((DbDataReader)dataReader).ReadAsync()) { result.Add(entytyList.Build(dataReader)); } } catch (Exception ex) { Check.Exception(true, ErrorMessage.EntityMappingError, ex.Message); } return(result); }
private void InitContext(ConnectionConfig config) { var aopIsNull = config.AopEvents == null; if (aopIsNull) { config.AopEvents = new AopEvents(); } _Context = new SqlSugarProvider(config); if (!aopIsNull) { _Context.Ado.IsEnableLogEvent = true; } this.CurrentConnectionConfig = config; _ThreadId = Thread.CurrentThread.ManagedThreadId.ToString(); if (_MappingColumns == null) { this.MappingTables = new MappingTableList(); } if (this.MappingColumns == null) { this.MappingColumns = new MappingColumnList(); } if (this.IgnoreColumns == null) { this.IgnoreColumns = new IgnoreColumnList(); } if (this.IgnoreInsertColumns == null) { this.IgnoreInsertColumns = new IgnoreColumnList(); } }
public IDataReaderEntityBuilder(SqlSugarProvider context, IDataRecord dataRecord, List <string> fieldNames) { this.Context = context; this.DataRecord = dataRecord; this.DynamicBuilder = new IDataReaderEntityBuilder <T>(); this.ReaderKeys = fieldNames; }
private SqlSugarProvider GetContext() { SqlSugarProvider result = null; if (IsSameThreadAndShard()) { result = SameThreadAndShard(); } else if (IsNoSameThreadAndShard()) { result = NoSameThreadAndShard(); } else if (IsSynchronization()) { result = Synchronization(); } else if (IsSingleInstanceAsync()) { result = NoSameThreadAsync(); } else if (IsAsync()) { result = Synchronization(); } else { IsSingleInstance = true; result = NoSameThread(); } if (result.Root == null) { result.Root = this; } return(result); }
public static CacheKey GetKey(SqlSugarProvider context, QueryBuilder queryBuilder) { CacheKey result = new CacheKey(); result.Database = context.Context.Ado.Connection.Database; AddTables(context, queryBuilder, result); AddIdentificationList(queryBuilder, result); return(result); }
private void InitTenant(SugarTenant Tenant) { if (Tenant.Context == null) { Tenant.Context = new SqlSugarProvider(Tenant.ConnectionConfig); } _Context = Tenant.Context; this.CurrentConnectionConfig = Tenant.ConnectionConfig; }
internal SaveableProvider(SqlSugarProvider context, T saveObject) { this.saveObjects = new List <T>() { saveObject }; this.Context = context; this.Context.InitMappingInfo <T>(); }
public SqlSugarException(SqlSugarProvider context, Exception ex, string sql, object pars) : base(ex.Message) { this.Sql = sql; this.Parametres = pars; this.InnerException = ex.InnerException; this.StackTrace = ex.StackTrace; this.TargetSite = ex.TargetSite; this.Source = ex.Source; }
private SqlSugarProvider CopyClient() { var result = new SqlSugarProvider(this.CurrentConnectionConfig); result.MappingColumns = _MappingColumns; result.MappingTables = _MappingTables; result.IgnoreColumns = _IgnoreColumns; result.IgnoreInsertColumns = _IgnoreInsertColumns; return(result); }
public SqlSugarProvider CopyContext(bool isCopyEvents = false) { var newClient = new SqlSugarProvider(this.TranslateCopy(Context.CurrentConnectionConfig)); newClient.CurrentConnectionConfig.ConfigureExternalServices = Context.CurrentConnectionConfig.ConfigureExternalServices; newClient.MappingColumns = this.TranslateCopy(Context.MappingColumns); newClient.MappingTables = this.TranslateCopy(Context.MappingTables); newClient.IgnoreColumns = this.TranslateCopy(Context.IgnoreColumns); newClient.IgnoreInsertColumns = this.TranslateCopy(Context.IgnoreInsertColumns); if (isCopyEvents) { newClient.QueryFilter = Context.QueryFilter; newClient.CurrentConnectionConfig.AopEvents = Context.CurrentConnectionConfig.AopEvents; } return(newClient); }
internal SaveableProvider(SqlSugarProvider context, List <T> saveObjects) { this.saveObjects = saveObjects; this.Context = context; this.Context.InitMappingInfo <T>(); }
public SqlSugarException(SqlSugarProvider context, string message, string sql) : base(message) { this.Sql = sql; }
private void AddCallContext(SqlSugarProvider context) { CallContext.ContextList.Value = new List <SqlSugarProvider>(); CallContext.ContextList.Value.Add(context); }
public static object GetEntity(this IDataReader dr, SqlSugarProvider context) { return(null); }
public static T GetOrCreate <T>(ICacheService cacheService, QueryBuilder queryBuilder, Func <T> getData, int cacheDurationInSeconds, SqlSugarProvider context) { CacheKey key = CacheKeyBuider.GetKey(context, queryBuilder); string keyString = key.ToString(); var result = cacheService.GetOrCreate(keyString, getData, cacheDurationInSeconds); return(result); }
public AopProvider(SqlSugarProvider context) { this.Context = context; this.Context.Ado.IsEnableLogEvent = true; }
public SqlSugarException(SqlSugarProvider context, string message, object pars) : base(message) { this.Parametres = pars; }