예제 #1
0
 public PlayerContext(
     [NotNull] DbConnectionStringBuilder connectionStringBuilder,
     DatabaseOptions.DatabaseType databaseType,
     Intersect.Logging.Logger logger     = null,
     Intersect.Logging.LogLevel logLevel = Intersect.Logging.LogLevel.None
     ) : base(connectionStringBuilder, databaseType, false, logger, logLevel)
 {
 }
 public static void Configure(
     DatabaseOptions.DatabaseType databaseType         = DatabaseOptions.DatabaseType.SQLite,
     DbConnectionStringBuilder connectionStringBuilder = null
     )
 {
     configuredDatabaseType            = databaseType;
     configuredConnectionStringBuilder = connectionStringBuilder;
 }
예제 #3
0
 public GameContext(
     DbConnectionStringBuilder connectionStringBuilder,
     DatabaseOptions.DatabaseType databaseType,
     bool readOnly = false,
     Intersect.Logging.Logger logger     = null,
     Intersect.Logging.LogLevel logLevel = Intersect.Logging.LogLevel.None
     ) : base(connectionStringBuilder, databaseType, logger, logLevel, readOnly, false)
 {
 }
예제 #4
0
 /// <inheritdoc />
 public LoggingContext(
     DbConnectionStringBuilder connectionStringBuilder,
     DatabaseOptions.DatabaseType databaseType = DatabaseOptions.DatabaseType.SQLite
     ) : base(connectionStringBuilder, databaseType, null, Intersect.Logging.LogLevel.None, false, true)
 {
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="connectionStringBuilder"></param>
        /// <param name="databaseType"></param>
        /// <inheritdoc />
        protected IntersectDbContext(
            [NotNull] DbConnectionStringBuilder connectionStringBuilder,
            DatabaseOptions.DatabaseType databaseType = DatabaseOptions.DatabaseType.SQLite,
            bool isTemporary = false,
            Intersect.Logging.Logger dbLogger   = null,
            Intersect.Logging.LogLevel logLevel = Intersect.Logging.LogLevel.None
            )
        {
            ConnectionStringBuilder = connectionStringBuilder;
            DatabaseType            = databaseType;

            //Translate Intersect.Logging.LogLevel into LoggerFactory Log Level
            if (dbLogger != null && logLevel > Intersect.Logging.LogLevel.None)
            {
                var efLogLevel = LogLevel.None;
                switch (logLevel)
                {
                case Intersect.Logging.LogLevel.None:
                    break;

                case Intersect.Logging.LogLevel.Error:
                    efLogLevel = LogLevel.Error;

                    break;

                case Intersect.Logging.LogLevel.Warn:
                    efLogLevel = LogLevel.Warning;

                    break;

                case Intersect.Logging.LogLevel.Info:
                    efLogLevel = LogLevel.Information;

                    break;

                case Intersect.Logging.LogLevel.Trace:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.Verbose:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.Debug:
                    efLogLevel = LogLevel.Debug;

                    break;

                case Intersect.Logging.LogLevel.Diagnostic:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.All:
                    efLogLevel = LogLevel.Trace;

                    break;
                }

                loggerFactory = LoggerFactory.Create(
                    builder =>
                {
                    builder.AddFilter((level) => level >= efLogLevel).AddProvider(new DbLoggerProvider(dbLogger));
                }
                    );
            }

            if (!isTemporary)
            {
                Current = this as T;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="connectionStringBuilder"></param>
        /// <param name="databaseType"></param>
        /// <inheritdoc />
        protected IntersectDbContext(
            DbConnectionStringBuilder connectionStringBuilder,
            DatabaseOptions.DatabaseType databaseType = DatabaseOptions.DatabaseType.SQLite,
            Intersect.Logging.Logger dbLogger         = null,
            Intersect.Logging.LogLevel logLevel       = Intersect.Logging.LogLevel.None,
            bool asReadOnly = false, bool autoDetectChanges = true
            )
        {
            ConnectionStringBuilder = connectionStringBuilder;
            DatabaseType            = databaseType;

            //Translate Intersect.Logging.LogLevel into LoggerFactory Log Level
            if (loggerFactory == null && dbLogger != null && logLevel > Intersect.Logging.LogLevel.None)
            {
                var efLogLevel = LogLevel.None;
                switch (logLevel)
                {
                case Intersect.Logging.LogLevel.None:
                    break;

                case Intersect.Logging.LogLevel.Error:
                    efLogLevel = LogLevel.Error;

                    break;

                case Intersect.Logging.LogLevel.Warn:
                    efLogLevel = LogLevel.Warning;

                    break;

                case Intersect.Logging.LogLevel.Info:
                    efLogLevel = LogLevel.Information;

                    break;

                case Intersect.Logging.LogLevel.Trace:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.Verbose:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.Debug:
                    efLogLevel = LogLevel.Debug;

                    break;

                case Intersect.Logging.LogLevel.Diagnostic:
                    efLogLevel = LogLevel.Trace;

                    break;

                case Intersect.Logging.LogLevel.All:
                    efLogLevel = LogLevel.Trace;

                    break;
                }

                loggerFactory = LoggerFactory.Create(
                    builder =>
                {
                    builder.AddFilter((level) => level >= efLogLevel).AddProvider(new DbLoggerProvider(dbLogger));
                }
                    );
            }

            ReadOnly = asReadOnly;

            ChangeTracker.AutoDetectChangesEnabled = autoDetectChanges || ReadOnly;

            if (ReadOnly)
            {
                ChangeTracker.LazyLoadingEnabled    = false;
                ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
            }
        }
예제 #7
0
 /// <inheritdoc />
 public LoggingContext(
     DbConnectionStringBuilder connectionStringBuilder,
     DatabaseOptions.DatabaseType databaseType = DatabaseOptions.DatabaseType.SQLite
     ) : base(connectionStringBuilder, databaseType, true)
 {
 }