Exemple #1
0
        protected DbContext GetDb(Func <DbContextOptionsBuilder, DbContextOptionsBuilder> dbContextApplier, bool forSummaries)
        {
            if (forSummaries)
            {
                return(new SummaryDb(dbContextApplier));
            }

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest &&
                RequestContextManager.Instance.CurrentContext.Items != null &&
                RequestContextManager.Instance.CurrentContext.Items.ContainsKey("_lynicon_request_context"))
            {
                return((CoreDb)RequestContextManager.Instance.CurrentContext.Items["_lynicon_request_context"]);
            }

            CoreDb db = new CoreDb(dbContextApplier);

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest &&
                RequestContextManager.Instance.CurrentContext.Items != null)
            {
                RequestContextManager.Instance.CurrentContext.Items.Add("_lynicon_request_context", db);
            }

            // TMP
            //if (QueryTimeoutSecs.HasValue)
            //    db.Database.CommandTimeout = QueryTimeoutSecs.Value;
            //else if (Repository.Instance.QueryTimeoutSecs.HasValue)
            //    db.Database.CommandTimeout = Repository.Instance.QueryTimeoutSecs;

            return(db);
        }
Exemple #2
0
        protected DbContext GetDb(bool forSummaries)
        {
            if (forSummaries)
            {
                return(new SummaryDb());
            }

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest &&
                HttpContext.Current.Items != null &&
                HttpContext.Current.Items.Contains("_lynicon_request_context"))
            {
                return((CoreDb)HttpContext.Current.Items["_lynicon_request_context"]);
            }

            CoreDb db;

            if (DataSourceSpecifier == null)
            {
                db = new CoreDb();
            }
            else
            {
                db = new CoreDb(DataSourceSpecifier);
            }

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest &&
                HttpContext.Current.Items != null)
            {
                HttpContext.Current.Items.Add("_lynicon_request_context", db);
            }

            if (QueryTimeoutSecs.HasValue)
            {
                db.Database.CommandTimeout = QueryTimeoutSecs.Value;
            }
            else if (Repository.Instance.QueryTimeoutSecs.HasValue)
            {
                db.Database.CommandTimeout = Repository.Instance.QueryTimeoutSecs;
            }

            return(db);
        }
Exemple #3
0
 public ProductRepository(CoreDb context)
 {
     this._context = context;
 }
Exemple #4
0
        protected DbContext GetDb(bool forSummaries)
        {
            if (forSummaries)
                return new SummaryDb();

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest
                && HttpContext.Current.Items != null
                && HttpContext.Current.Items.Contains("_lynicon_request_context"))
                return (CoreDb)HttpContext.Current.Items["_lynicon_request_context"];

            CoreDb db;
            if (DataSourceSpecifier == null)
                db = new CoreDb();
            else
                db = new CoreDb(DataSourceSpecifier);

            if (this.contextLifetimeMode == ContextLifetimeMode.PerRequest
                && HttpContext.Current.Items != null)
                HttpContext.Current.Items.Add("_lynicon_request_context", db);

            if (QueryTimeoutSecs.HasValue)
                db.Database.CommandTimeout = QueryTimeoutSecs.Value;
            else if (Repository.Instance.QueryTimeoutSecs.HasValue)
                db.Database.CommandTimeout = Repository.Instance.QueryTimeoutSecs;

            return db;
        }