Exemple #1
0
        private SqlDbLiteProvider GetContext()
        {
            SqlDbLiteProvider 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);
        }
Exemple #2
0
        protected async Task <List <T> > GetEntityListAsync <T>(SqlDbLiteProvider 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);
        }
Exemple #3
0
        private void InitContext(ConnectionConfig config)
        {
            var aopIsNull = config.AopEvents == null;

            if (aopIsNull)
            {
                config.AopEvents = new AopEvents();
            }
            _Context = new SqlDbLiteProvider(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();
            }
        }
Exemple #4
0
 public IDataReaderEntityBuilder(SqlDbLiteProvider context, IDataRecord dataRecord, List <string> fieldNames)
 {
     this.Context        = context;
     this.DataRecord     = dataRecord;
     this.DynamicBuilder = new IDataReaderEntityBuilder <T>();
     this.ReaderKeys     = fieldNames;
 }
        public static CacheKey GetKey(SqlDbLiteProvider context, QueryBuilder queryBuilder)
        {
            CacheKey result = new CacheKey();

            result.Database = context.Context.Ado.Connection.Database;
            AddTables(context, queryBuilder, result);
            AddIdentificationList(queryBuilder, result);
            return(result);
        }
Exemple #6
0
 private void InitTenant(DbLiteTenant Tenant)
 {
     if (Tenant.Context == null)
     {
         Tenant.Context = new SqlDbLiteProvider(Tenant.ConnectionConfig);
     }
     _Context = Tenant.Context;
     this.CurrentConnectionConfig = Tenant.ConnectionConfig;
 }
Exemple #7
0
 internal SaveableProvider(SqlDbLiteProvider context, T saveObject)
 {
     this.saveObjects = new List <T>()
     {
         saveObject
     };
     this.Context = context;
     this.Context.InitMappingInfo <T>();
 }
 public SqlDbLiteException(SqlDbLiteProvider 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;
 }
Exemple #9
0
        private SqlDbLiteProvider CopyClient()
        {
            var result = new SqlDbLiteProvider(this.CurrentConnectionConfig);

            result.MappingColumns      = _MappingColumns;
            result.MappingTables       = _MappingTables;
            result.IgnoreColumns       = _IgnoreColumns;
            result.IgnoreInsertColumns = _IgnoreInsertColumns;

            return(result);
        }
        public SqlDbLiteProvider CopyContext(bool isCopyEvents = false)
        {
            var newClient = new SqlDbLiteProvider(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);
        }
Exemple #11
0
 internal SaveableProvider(SqlDbLiteProvider context, List <T> saveObjects)
 {
     this.saveObjects = saveObjects;
     this.Context     = context;
     this.Context.InitMappingInfo <T>();
 }
Exemple #12
0
 public AopProvider(SqlDbLiteProvider context)
 {
     this.Context = context;
     this.Context.Ado.IsEnableLogEvent = true;
 }
Exemple #13
0
 private void AddCallContext(SqlDbLiteProvider context)
 {
     CallContext.ContextList.Value = new List <SqlDbLiteProvider>();
     CallContext.ContextList.Value.Add(context);
 }
 public static object GetEntity(this IDataReader dr, SqlDbLiteProvider context)
 {
     return(null);
 }
Exemple #15
0
        public static T GetOrCreate <T>(ICacheService cacheService, QueryBuilder queryBuilder, Func <T> getData, int cacheDurationInSeconds, SqlDbLiteProvider context)
        {
            CacheKey key       = CacheKeyBuider.GetKey(context, queryBuilder);
            string   keyString = key.ToString();
            var      result    = cacheService.GetOrCreate(keyString, getData, cacheDurationInSeconds);

            return(result);
        }
 public SqlDbLiteException(SqlDbLiteProvider context, string message, string sql)
     : base(message)
 {
     this.Sql = sql;
 }
 public SqlDbLiteException(SqlDbLiteProvider context, string message, object pars)
     : base(message)
 {
     this.Parametres = pars;
 }