Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 protected QuerySession(StoreOptions options)
 {
     Serializer = options.Serializer();
     Tenant     = options.Tenancy.Default;
     Options    = options;
     _providers = options.Providers;
 }
Ejemplo n.º 3
0
        public StoreOptions()
        {
            Events     = new EventGraph(this);
            Schema     = new MartenRegistry();
            Transforms = new Transforms.Transforms(this);
            Storage    = new StorageFeatures(this);

            Providers = new ProviderGraph(this);
        }
Ejemplo n.º 4
0
 public override void ResetSchemaExistenceChecks()
 {
     base.ResetSchemaExistenceChecks();
     resetSequences();
     if (Providers is StorageCheckingProviderGraph)
     {
         Providers = new StorageCheckingProviderGraph(this, _options.Providers);
     }
 }
Ejemplo n.º 5
0
            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)
                });
            }
Ejemplo n.º 6
0
 public IDocumentSourceCode Load(IProviderGraph providers)
 {
     return(providers.StorageFor <T>());
 }
Ejemplo n.º 7
0
 public StorageCheckingProviderGraph(ITenantStorage tenant, IProviderGraph inner)
 {
     Tenant = tenant;
     _inner = inner;
 }
Ejemplo n.º 8
0
 public IDocumentStorage Find(IProviderGraph providers)
 {
     return(providers.StorageFor <T>().Lightweight);
 }
Ejemplo n.º 9
0
 internal static IDocumentStorage StorageFor(this IProviderGraph providers, Type documentType)
 {
     return(typeof(StorageFinder <>).CloseAndBuildAs <IStorageFinder>(documentType).Find(providers));
 }
Ejemplo n.º 10
0
 public StorageCheckingProviderGraph(IMartenDatabase tenant, IProviderGraph inner)
 {
     Tenant = tenant;
     _inner = inner;
 }