Exemplo n.º 1
0
        private void CanUseCountAndCountLazilySync(DocumentStoreBase store)
        {
            using (var session = store.OpenSession())
            {
                Assert.Equal(0, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .WhereLucene("Name", "NoSuch")
                             .Count());

                Assert.Equal(1, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .WhereLucene("Name", "Google")
                             .Count());

                Assert.Equal(2, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .Count());
            }

            using (var session = store.OpenSession())
            {
                Assert.Equal(0, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .WhereLucene("Name", "NoSuch")
                             .CountLazily().Value);

                Assert.Equal(1, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .WhereLucene("Name", "Google")
                             .CountLazily().Value);

                Assert.Equal(2, session.Advanced.DocumentQuery <Profile>("ProfileByName")
                             .CountLazily().Value);
            }
        }
Exemplo n.º 2
0
        private static void CanUseFirstSync(DocumentStoreBase store)
        {
            using (var session = store.OpenSession())
            {
                var profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                              .WhereLucene("Name", "Google")
                              .First();

                Assert.NotNull(profile);

                Assert.Throws <InvalidOperationException>(() =>
                {
                    profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                              .WhereLucene("Name", "NoSuch")
                              .First();
                });

                profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                          .WhereLucene("Name", "Google")
                          .FirstOrDefault();

                Assert.NotNull(profile);

                profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                          .WhereLucene("Name", "NoSuch")
                          .FirstOrDefault();

                Assert.Null(profile);
            }
        }
Exemplo n.º 3
0
        private static void FillDatabase(DocumentStoreBase store)
        {
            store.ExecuteIndex(new ProfileByName());

            var profile = new Profile {
                Name = "Google", Location = "Shard1"
            };
            var profile2 = new Profile {
                Name = "HibernatingRhinos", Location = "Shard2"
            };

            using (var documentSession = store.OpenSession())
            {
                documentSession.Store(profile, profile.Id);
                documentSession.Store(profile2, profile2.Id);
                documentSession.SaveChanges();
            }
        }
Exemplo n.º 4
0
        private void CanUseSingleSync(DocumentStoreBase store)
        {
            using (var session = store.OpenSession())
            {
                Profile profile;

                profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                          .Where("Name:Google")
                          .Single();

                Assert.NotNull(profile);

                Assert.Throws <InvalidOperationException>(() =>
                {
                    profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                              .Single();
                });

                profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                          .Where("Name:NoSuch")
                          .SingleOrDefault();

                Assert.Null(profile);

                profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                          .Where("Name:Google")
                          .SingleOrDefault();

                Assert.NotNull(profile);

                Assert.Throws <InvalidOperationException>(() =>
                {
                    profile = session.Advanced.DocumentQuery <Profile>("ProfileByName")
                              .SingleOrDefault();
                });
            }
        }