コード例 #1
0
 protected static IVersionedDocumentStoreClient CreateStoreLogic(
     IDocumentDbAccess dbAccess,
     DocumentStoreConfig config,
     IDocumentMetadataSource metadataSource)
 {
     return(new VersionedDocumentStoreClient(GetDbAccessImplementation(dbAccess), config, metadataSource));
 }
コード例 #2
0
 /// <summary>
 /// Initialises a new instance of the <see cref="VersionedDocumentStoreClient"/> class.
 /// </summary>
 /// <param name="dbAccess">The db access interface.</param>
 /// <param name="config">The store config.</param>
 /// <param name="metadataSource">The document metadata source.</param>
 public VersionedDocumentStoreClient(
     DocumentDbAccess dbAccess,
     DocumentStoreConfig config,
     IDocumentMetadataSource metadataSource)
     : base(dbAccess, config, new[] { typeof(CreateDocumentStoredProcedure) })
 {
     MetadataSource = metadataSource ?? new NullDocumentMetadataSource();
 }
コード例 #3
0
        protected static IVersionedDocumentStoreClient CreateStoreLogic(
            IDocumentDbAccess dbAccess,
            DocumentStoreConfig config,
            IDocumentMetadataSource metadataSource)
        {
            var documentDbAccess = dbAccess as DocumentDbAccess;

            if (documentDbAccess == null)
            {
                throw new InvalidOperationException("Document db access interface is not a supported type");
            }

            return(new VersionedDocumentStoreClient(documentDbAccess, config, metadataSource));
        }
コード例 #4
0
ファイル: OrderStore.cs プロジェクト: cloud-maker-ai/Nebula
        public OrderStore(
            IDocumentDbAccessProvider dbAccessProvider,
            IDocumentMetadataSource metadataSource) : base(dbAccessProvider)
        {
            var config = new DocumentStoreConfigBuilder("Orders");

            var orderDocumentType = config.AddDocument("Order").Finish();

            _orderMapping = config.AddDocumentMapping <Order>(orderDocumentType.DocumentName)
                            .SetIdMapper(x => x.Id.ToString())
                            .SetPartitionMapper(x => x.Id.ToString())
                            .Finish();

            _config = config.Finish();
            _client = CreateStoreLogic(DbAccess, _config, metadataSource);
        }
コード例 #5
0
        public FlowerStore(
            IDocumentDbAccessProvider dbAccessProvider,
            IDocumentMetadataSource metadataSource) : base(dbAccessProvider, false)
        {
            var config = new DocumentStoreConfigBuilder("Flowers");

            var documentType = config.AddDocument("Daisy").Finish();

            _mapping = config.AddDocumentMapping <Daisy>(documentType.DocumentName)
                       .SetIdMapper(x => x.Id.ToString())
                       .SetPartitionMapper(x => x.Id.ToString())
                       .Finish();

            _config = config.Finish();
            _client = CreateStoreLogic(DbAccess, _config, metadataSource);

            DbAccess.ConfigRegistry.RegisterStoreConfigSource(this);
        }
コード例 #6
0
        public FlowerStore(
            IDocumentDbAccessProvider dbAccessProvider,
            IDocumentMetadataSource metadataSource) : base(dbAccessProvider, false)
        {
            var config = new DocumentStoreConfigBuilder("Flowers");

            var daisyDocumentType = config.AddDocument("Daisy").Finish();
            var roseDocumentType  = config.AddDocument("Rose").Finish();

            _daisyMapping = config.AddDocumentMapping <Daisy>(daisyDocumentType.DocumentName)
                            .SetIdMapper(x => x.Id.ToString())
                            .SetPartitionMapper(x => x.Id.ToString())
                            .Finish();

            _gardenMapping = config.AddDocumentMapping <Garden>(roseDocumentType.DocumentName)
                             .SetIdMapper(x => x.Id.ToString())
                             .SetPartitionMapper(x => x.Id.ToString())
                             .Finish();

            _config = config.Finish();
            _client = CreateStoreLogic(DbAccess, _config, metadataSource);
        }
コード例 #7
0
            public FruitStore(IDocumentDbAccessProvider dbAccessProvider, IDocumentMetadataSource metadataSource)
                : base(dbAccessProvider, false)
            {
                var config = new DocumentStoreConfigBuilder("Fruit");

                var appleDocumentType = config.AddDocument("Apple").Finish();
                var pearDocumentType  = config.AddDocument("Pear").Finish();

                _appleMapping = config.AddDocumentMapping <Apple>(appleDocumentType.DocumentName)
                                .SetIdMapper(x => x.Id.ToString())
                                .SetPartitionMapper(x => x.Id.ToString())
                                .Finish();

                _pearMapping = config.AddDocumentMapping <Pear>(pearDocumentType.DocumentName)
                               .SetIdMapper(x => x.Id.ToString())
                               .SetPartitionMapper(x => x.Id.ToString())
                               .Finish();

                _config = config.Finish();
                _client = CreateStoreLogic(DbAccess, _config, metadataSource);

                DbAccess.ConfigRegistry.RegisterStoreConfigSource(this);
            }