• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# DocumentStore类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中DocumentStore的典型用法代码示例。如果您正苦于以下问题:C# DocumentStore类的具体用法?C# DocumentStore怎么用?C# DocumentStore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DocumentStore类属于命名空间,在下文中一共展示了DocumentStore类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Can_perform_a_simple_where

		public IEnumerable<Task> Can_perform_a_simple_where()
		{
			var dbname = GenerateNewDatabaseName();
			var documentStore = new DocumentStore { Url = Url + Port };
			documentStore.Initialize();
			yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			var entity = new Company { Name = "Async Company #1", Id = "companies/1" };
			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				session.Store(entity);
				yield return session.SaveChangesAsync();
			}

			using (var session = documentStore.OpenAsyncSession(dbname))
			{
			var query = session.Query<Company>()
						.Where(x => x.Name == "Async Company #1")
						.ToListAsync();
				yield return query;

				Assert.AreEqual(1, query.Result.Count);
				Assert.AreEqual("Async Company #1", query.Result[0].Name);
			}
		}
开发者ID:philiphoy,项目名称:ravendb,代码行数:25,代码来源:AsyncLinqQueryTests.cs


示例2: Can_get_total_count

		public IEnumerable<Task> Can_get_total_count()
		{
			var dbname = GenerateNewDatabaseName();
			var documentStore = new DocumentStore { Url = Url + Port };
			documentStore.Initialize();
			yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			var entity = new Company { Name = "Async Company #1", Id = "companies/1" };
			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				session.Store(entity);
				yield return session.SaveChangesAsync();
			}

			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				RavenQueryStatistics stats;
				var query = session.Query<Company>()
					.Customize(x=>x.WaitForNonStaleResults())
					.Statistics(out stats)
					.Where(x => x.Name == "Async Company #1")
					.CountAsync();
				yield return query;

				Assert.AreEqual(1, query.Result);
			}
		}
开发者ID:runesoerensen,项目名称:ravendb,代码行数:27,代码来源:AsyncLinqQueryTests.cs


示例3: Including_a_related_entity_should_avoid_hitting_the_server_twice

		public IEnumerable<Task> Including_a_related_entity_should_avoid_hitting_the_server_twice()
		{
			var dbname = GenerateNewDatabaseName();
			var documentStore = new DocumentStore { Url = Url + Port };
			documentStore.Initialize();
			yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			var customer = new Customer { Name = "Customer #1", Id = "customer/1", Email = "[email protected]" };
			var order = new Order { Id = "orders/1", Note = "Hello", Customer = new DenormalizedReference { Id = customer.Id, Name = customer.Name } };
			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				session.Store(customer);
				session.Store(order);
				yield return session.SaveChangesAsync();
			}

			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				var query = session.Advanced.AsyncLuceneQuery<Order>()
					.Include(x => x.Customer.Id)
					.WhereEquals("Id", "orders/1")
					.QueryResultAsync;
				yield return query;

				Assert.Equal("Hello", query.Result.Results[0].Value<string>("Note"));

				// NOTE: this call should not hit the server 
				var load = session.LoadAsync<Customer>(customer.Id);
				yield return load;

				Assert.Equal(1, session.Advanced.NumberOfRequests);
			}
		}
开发者ID:aduggleby,项目名称:ravendb,代码行数:33,代码来源:AsyncLuceneQueryTests.cs


示例4: Can_test_two_conditions_in_a_where_clause

		public IEnumerable<Task> Can_test_two_conditions_in_a_where_clause()
		{
			var dbname = GenerateNewDatabaseName();
			var documentStore = new DocumentStore { Url = Url + Port };
			documentStore.Initialize();
			yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				session.Store(new Company { Name = "Async Company", Phone = 55555, Id = "companies/1" });
				session.Store(new Company { Name = "Async Company", Phone = 12345, Id = "companies/2" });
				yield return session.SaveChangesAsync();
			}

			using (var session = documentStore.OpenAsyncSession(dbname))
			{
				var query = session.Query<Company>()
							.Where(x => x.Name == "Async Company" && x.Phone == 12345)
							.ToListAsync();
				yield return query;

				Assert.AreEqual(1, query.Result.Count);
				Assert.AreEqual(12345, query.Result[0].Phone);
			}
		}
开发者ID:philiphoy,项目名称:ravendb,代码行数:25,代码来源:AsyncLinqQueryTests.cs


示例5: Prepare

        internal override PreparedDatabaseCommand Prepare(DocumentStore store, Guid etag, int uniqueParameterIdentifier)
        {
            var values = ConvertAnonymousToProjections(table, projections);

            values[table.EtagColumn] = etag;
            values[table.ModifiedAtColumn] = DateTimeOffset.Now;

            var sql = new SqlBuilder()
                .Append("update {0} set {1} where {2}[email protected]{3}",
                        store.Database.FormatTableNameAndEscape(table.Name),
                        string.Join(", ", from column in values.Keys select column.Name + "[email protected]" + column.Name + uniqueParameterIdentifier),
                        table.IdColumn.Name,
                        uniqueParameterIdentifier)
                .Append(!lastWriteWins, "and {0}[email protected]{1}",
                        table.EtagColumn.Name,
                        uniqueParameterIdentifier)
                .ToString();

            var parameters = MapProjectionsToParameters(values, uniqueParameterIdentifier);
            AddTo(parameters, "@Id" + uniqueParameterIdentifier, key, SqlTypeMap.Convert(table.IdColumn).DbType, null);

            if (!lastWriteWins)
            {
                AddTo(parameters, "@CurrentEtag" + uniqueParameterIdentifier, currentEtag, SqlTypeMap.Convert(table.EtagColumn).DbType, null);
            }

            return new PreparedDatabaseCommand
            {
                Sql = sql,
                Parameters = parameters.Values.ToList(),
                ExpectedRowCount = 1
            };
        }
开发者ID:dcga,项目名称:HybridDb,代码行数:33,代码来源:UpdateCommand.cs


示例6: Can_delete_an_attachment

		public IEnumerable<Task> Can_delete_an_attachment()
		{
			var store = new DocumentStore {Url = Url + Port};
			store.Initialize();

			var dbname = GenerateNewDatabaseName();
			yield return store.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			const string someData = "The quick brown fox jumps over the lazy dog";
			var encoding = new UTF8Encoding();
			var bytes = encoding.GetBytes(someData);

			yield return store.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.PutAttachmentAsync("123", Guid.Empty, bytes, null);

			yield return store.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.DeleteAttachmentAsync("123", null);

			var get = store.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.GetAttachmentAsync("123");
			yield return get;
			
			Assert.AreEqual(null, get.Result);
		}
开发者ID:runesoerensen,项目名称:ravendb,代码行数:27,代码来源:Attachments.cs


示例7: Application_Start

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            var estore = new EventStore();
            var dstore = new DocumentStore();

            Action<Command> future = cmd => DiContainer.Current.CommandBus.Submit(cmd);

            DiContainer.Current = new DiContainer
                                      {
                                          Store = estore,
                                          DocumentStore = dstore,
                                          CommandBus = new CommandDispatcher(
                                              estore,
                                              e => estore.Store(e),
                                              future
                                              ),
                                          Projektor = new Projektor(estore, dstore)
                                      };

            if (!estore.All.Any()) GenerateDemoData(estore);
        }
开发者ID:Lazygeek1981,项目名称:CqrsDemo,代码行数:27,代码来源:Global.asax.cs


示例8: Prepare

        internal override PreparedDatabaseCommand Prepare(DocumentStore store, Guid etag, int uniqueParameterIdentifier)
        {
            var sql = new SqlBuilder()
                .Append("delete from {0} where {1} = @Id{2}",
                        store.Database.FormatTableNameAndEscape(table.Name),
                        table.IdColumn.Name,
                        uniqueParameterIdentifier)
                .Append(!lastWriteWins,
                        "and {0} = @CurrentEtag{1}",
                        table.EtagColumn.Name,
                        uniqueParameterIdentifier)
                .ToString();

            var parameters = new Dictionary<string, Parameter>();
            AddTo(parameters, "@Id" + uniqueParameterIdentifier, key, SqlTypeMap.Convert(table.IdColumn).DbType, null);

            if (!lastWriteWins)
            {
                AddTo(parameters, "@CurrentEtag" + uniqueParameterIdentifier, currentEtag, SqlTypeMap.Convert(table.EtagColumn).DbType, null);
            }

            return new PreparedDatabaseCommand
            {
                Sql = sql,
                Parameters = parameters.Values.ToList(),
                ExpectedRowCount = 1
            };
        }
开发者ID:dcga,项目名称:HybridDb,代码行数:28,代码来源:DeleteCommand.cs


示例9: Prepare

        internal override PreparedDatabaseCommand Prepare(DocumentStore store, Guid etag, int uniqueParameterIdentifier)
        {
            var name = string.Format("{0}_{1}_{2}.bak", design.DocumentType.FullName, key, version);
            writer.Write(name, document);

            return command.Prepare(store, etag, uniqueParameterIdentifier);
        }
开发者ID:dcga,项目名称:HybridDb,代码行数:7,代码来源:BackupCommand.cs


示例10: Should_not_cache_the_list_of_databases

		public IEnumerable<Task> Should_not_cache_the_list_of_databases()
		{
			var documentStore = new DocumentStore { Url = Url + Port };
			documentStore.Initialize();

			var first = GenerateNewDatabaseName();
			yield return documentStore.AsyncDatabaseCommands
				.EnsureDatabaseExistsAsync(first);

			var task = documentStore.AsyncDatabaseCommands
				.GetDatabaseNamesAsync();
			yield return task;

			Assert.IsTrue(task.Result.Contains(first));

			var second = GenerateNewDatabaseName();
			yield return documentStore.AsyncDatabaseCommands
				.EnsureDatabaseExistsAsync(second);

			var verify = documentStore.AsyncDatabaseCommands
				.GetDatabaseNamesAsync();
			yield return verify;

			Assert.IsTrue(verify.Result.Contains(second));
		}
开发者ID:nzdunic,项目名称:ravendb,代码行数:25,代码来源:AsyncDatabaseCommandsTests.cs


示例11: Some_sample_data

		public IEnumerable<Task> Some_sample_data()
		{
			var store = new DocumentStore {Url = Url + Port};
			store.Initialize();

			using (var session = store.OpenAsyncSession())
			{
				Enumerable.Range(0, 25).ToList()
					.ForEach(i => session.Store(new Company {Id = "Companies/" + i, Name = i.ToString()}));

				Enumerable.Range(0, 250).ToList()
					.ForEach(i => session.Store(new Order { Id = "Orders/" + i, Note = i.ToString() }));

				Enumerable.Range(0, 100).ToList()
					.ForEach(i => session.Store(new Customer { Name = "Joe " + i}));

				Enumerable.Range(0, 75).ToList()
					.ForEach(i => session.Store(new Contact { FirstName = "Bob" + i, Surname = i.ToString() + "0101001" }));

				session.Store(new Customer { Name = "Henry"});
				session.Store(new Order { Note = "An order" });
				session.Store(new Company {Name = "My Company"});

				yield return session.SaveChangesAsync();
			}
		}
开发者ID:925coder,项目名称:ravendb,代码行数:26,代码来源:Generate.cs


示例12: Can_insert_async_and_multi_get_async

        public IEnumerable<Task> Can_insert_async_and_multi_get_async()
        {
            var dbname = GenerateNewDatabaseName();
            var documentStore = new DocumentStore {Url = Url + Port};
            documentStore.Initialize();
            yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

            var entity1 = new Company {Name = "Async Company #1"};
            var entity2 = new Company {Name = "Async Company #2"};
            using (var session_for_storing = documentStore.OpenAsyncSession(dbname))
            {
                session_for_storing.Store(entity1);
                session_for_storing.Store(entity2);
                yield return session_for_storing.SaveChangesAsync();
            }

            using (var session_for_loading = documentStore.OpenAsyncSession(dbname))
            {
                var task = session_for_loading.MultiLoadAsync<Company>(new[] {entity1.Id, entity2.Id});
                yield return task;

                Assert.Equal(entity1.Name, task.Result[0].Name);
                Assert.Equal(entity2.Name, task.Result[1].Name);
            }
        }
开发者ID:aduggleby,项目名称:ravendb,代码行数:25,代码来源:AsyncDocumentStoreServerTests.cs


示例13: Can_delete_an_index_async

		public IEnumerable<Task> Can_delete_an_index_async()
		{
			var dbname = GenerateNewDatabaseName();
			var documentStore = new DocumentStore {Url = Url + Port};
			documentStore.Initialize();
			yield return documentStore.AsyncDatabaseCommands.EnsureDatabaseExistsAsync(dbname);

			yield return documentStore.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.PutIndexAsync("Test", new IndexDefinition
				                       	{
				                       		Map = "from doc in docs.Companies select new { doc.Name }"
				                       	}, true);

			var verify_put = documentStore.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.GetIndexNamesAsync(0, 25);
			yield return verify_put;

			Assert.IsTrue(verify_put.Result.Contains("Test"));

			yield return documentStore.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.DeleteIndexAsync("Test");

			var verify_delete = documentStore.AsyncDatabaseCommands
				.ForDatabase(dbname)
				.GetIndexNamesAsync(0, 25);
			yield return verify_delete;

			//NOTE: this is failing because Silverlight is caching the response from the first verification
			Assert.IsFalse(verify_delete.Result.Contains("Test"));
		}
开发者ID:philiphoy,项目名称:ravendb,代码行数:33,代码来源:Indexes.cs


示例14: SetUp

        public void SetUp()
        {
            var path = Path.Combine(Environment.CurrentDirectory, GetType().Name + "Test");
            EnsurePath(path);

            DocumentStore = new DocumentStore(path);
        }
开发者ID:davidd2k,项目名称:OctoDB,代码行数:7,代码来源:StorageFixture.cs


示例15: Replication

		public Replication()
		{
			var store = new DocumentStore();

			DocumentConvention Conventions = store.Conventions;

			#region failover_behavior
			Conventions.FailoverBehavior = FailoverBehavior.AllowReadsFromSecondaries;
            #endregion

            #region cluster_failover_behavior
            Conventions.FailoverBehavior = FailoverBehavior.ReadFromAllWriteToLeader;
            #endregion

            #region replication_informer
            Conventions.ReplicationInformerFactory = (url, jsonRequestFactory, requestTimeMetricGetter) =>
				new ReplicationInformer(Conventions, jsonRequestFactory, requestTimeMetricGetter);
			#endregion

			#region index_and_transformer_replication_mode
			Conventions.IndexAndTransformerReplicationMode = IndexAndTransformerReplicationMode.Indexes |
			                                                 IndexAndTransformerReplicationMode.Transformers;
			#endregion

		} 
开发者ID:ravendb,项目名称:docs,代码行数:25,代码来源:Replication.cs


示例16: Querying

		public Querying()
		{
			var store = new DocumentStore();

			DocumentConvention Conventions = store.Conventions;

			#region find_prop_name
			Conventions.FindPropertyNameForIndex = (indexedType, indexName, path, prop) => (path + prop).Replace(",", "_").Replace(".", "_");
			Conventions.FindPropertyNameForDynamicIndex = (indexedType, indexName, path, prop) => path + prop;
			#endregion

			#region querying_consistency
			Conventions.DefaultQueryingConsistency = ConsistencyOptions.None;
			#endregion

			#region querying_consistency_2
			Conventions.DefaultQueryingConsistency = ConsistencyOptions.AlwaysWaitForNonStaleResultsAsOfLastWrite;
			#endregion

			#region apply_reduce_func
			Conventions.ApplyReduceFunction = (type, resultType, results, transformResults) => 
				// carry out the reduction over results from different shards
			#endregion
				null;

			#region allow_queries_on_id
			Conventions.AllowQueriesOnId = false;
			#endregion
		} 
开发者ID:modulexcite,项目名称:docs-8,代码行数:29,代码来源:Querying.cs


示例17: DtcTransactions

		public DtcTransactions()
		{
			var store = new DocumentStore();

			using (var session = store.OpenSession())
			{
				#region transaction_scope_usage
				using (var transaction = new TransactionScope())
				{
					Employee employee = session.Load<Employee>("employees/1");

					employee.FirstName = "James";

					session.SaveChanges(); // will create HTTP request

					session.Delete(employee);

					session.SaveChanges(); // will create HTTP request

					transaction.Complete(); // will commit the transaction
				}

				#endregion
			}

			#region default_transaction_recovery_storage
			store.TransactionRecoveryStorage = new VolatileOnlyTransactionRecoveryStorage();
			#endregion

			#region local_directory_transaction_recovery_storage
			store.TransactionRecoveryStorage = new LocalDirectoryTransactionRecoveryStorage(@"C:\tx_recovery_data");
			#endregion
		}
开发者ID:modulexcite,项目名称:docs-8,代码行数:33,代码来源:DtcTransactions.cs


示例18: Configure

        public static void Configure(PhoneApplicationFrame rootFrame)
        {
            DocumentStore = new DocumentStore();
            Container = new Container();

            Container.Register<IDocumentStore>(c => new DocumentStore());
            Container.Register<IBus>(c => new Bus(c));

            Container.Register(c => new ActivityNewActivityHandler { Bus = c.Resolve<IBus>(), DocumentStore = DocumentStore });
            Container.Register(c => new TestModeActivatedHandler { Bus = c.Resolve<IBus>() });
            Container.Register(c => new ActivateTestModeHandler { Bus = c.Resolve<IBus>() });
            Container.Register(c => new ClearCacheHandler { DocumentStore = c.Resolve<IDocumentStore>() });
            Container.Register(c => new Contexts.Review.Domain.ClearCacheHandler { DocumentStore = c.Resolve<IDocumentStore>() });

            var bus = Container.Resolve<IBus>();

            bus.RegisterHandler<ActivityNewActivityHandler, NewActivityEvent>();
            bus.RegisterHandler<TestModeActivatedHandler, TestModeActivatedEvent>();
            bus.RegisterHandler<ActivateTestModeHandler, ActivateCommand>();
            bus.RegisterHandler<Contexts.Settings.ClearCacheHandler, ClearCacheCommand>();
            bus.RegisterHandler<Contexts.Review.Domain.ClearCacheHandler, ClearCacheCommand>();

            Contexts.Import.Module.Configure(Container);
            Contexts.Import.ModuleUi.Configure(Container, rootFrame);

            Contexts.Review.Module.Confiure(Container);
        }
开发者ID:aluetjen,项目名称:Wp7Jira,代码行数:27,代码来源:Config.cs


示例19: WhatAreConventions

		public WhatAreConventions()
		{
			var store = new DocumentStore();

			#region conventions_1
			DocumentConvention conventions = store.Conventions;
			#endregion
		}
开发者ID:modulexcite,项目名称:docs-8,代码行数:8,代码来源:WhatAreConventions.cs


示例20: InitializeSession

		void InitializeSession()
		{
			var store = new DocumentStore { Url = Address };

			store.Initialize();

			Session = store.OpenAsyncSession();
		}
开发者ID:jaircazarin,项目名称:ravendb,代码行数:8,代码来源:Database.cs



注:本文中的DocumentStore类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# DocumentType类代码示例发布时间:2022-05-24
下一篇:
C# DocumentStateTracker类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap