public QuerySession(DocumentStore store, SessionOptions sessionOptions, IManagedConnection database, ITenant tenant) { DocumentStore = store; SessionOptions = sessionOptions; Listeners.AddRange(store.Options.Listeners); if (sessionOptions != null) { if (sessionOptions.Timeout.HasValue && sessionOptions.Timeout.Value < 0) { throw new ArgumentOutOfRangeException("CommandTimeout can't be less than zero"); } Listeners.AddRange(sessionOptions.Listeners); } _providers = tenant.Providers ?? throw new ArgumentNullException(nameof(ITenant.Providers)); Database = database; Serializer = store.Serializer; Tenant = tenant; Options = store.Options; }
protected QuerySession(StoreOptions options) { Serializer = options.Serializer(); Tenant = options.Tenancy.Default; Options = options; _providers = options.Providers; }
public StoreOptions() { Events = new EventGraph(this); Schema = new MartenRegistry(); Transforms = new Transforms.Transforms(this); Storage = new StorageFeatures(this); Providers = new ProviderGraph(this); }
public override void ResetSchemaExistenceChecks() { base.ResetSchemaExistenceChecks(); resetSequences(); if (Providers is StorageCheckingProviderGraph) { Providers = new StorageCheckingProviderGraph(this, _options.Providers); } }
public DocumentProvider <T> BuildPersistence(IProviderGraph graph, SubClassMapping mapping) { var inner = graph.StorageFor <TRoot>(); return(new DocumentProvider <T>() { QueryOnly = new SubClassDocumentStorage <T, TRoot, TId>((IDocumentStorage <TRoot, TId>)inner.QueryOnly, mapping), Lightweight = new SubClassDocumentStorage <T, TRoot, TId>((IDocumentStorage <TRoot, TId>)inner.Lightweight, mapping), IdentityMap = new SubClassDocumentStorage <T, TRoot, TId>((IDocumentStorage <TRoot, TId>)inner.IdentityMap, mapping), DirtyTracking = new SubClassDocumentStorage <T, TRoot, TId>((IDocumentStorage <TRoot, TId>)inner.DirtyTracking, mapping), BulkLoader = new SubClassBulkLoader <T, TRoot>(inner.BulkLoader) }); }
public IDocumentSourceCode Load(IProviderGraph providers) { return(providers.StorageFor <T>()); }
public StorageCheckingProviderGraph(ITenantStorage tenant, IProviderGraph inner) { Tenant = tenant; _inner = inner; }
public IDocumentStorage Find(IProviderGraph providers) { return(providers.StorageFor <T>().Lightweight); }
internal static IDocumentStorage StorageFor(this IProviderGraph providers, Type documentType) { return(typeof(StorageFinder <>).CloseAndBuildAs <IStorageFinder>(documentType).Find(providers)); }
public StorageCheckingProviderGraph(IMartenDatabase tenant, IProviderGraph inner) { Tenant = tenant; _inner = inner; }