コード例 #1
0
ファイル: DbRefIndexTest.cs プロジェクト: apkd/LiteDB
        public void DbRefIndex_Test()
        {
            var mapper = new BsonMapper();

            mapper.Entity<DCustomer>()
                .Id(x => x.Login)
                .Field(x => x.Name, "customer_name");

            mapper.Entity<DOrder>()
                .Id(x => x.OrderNumber)
                .Field(x => x.Customer, "cust")
                .DbRef(x => x.Customer, "customers");

            using (var db = new LiteDatabase(new MemoryStream(), mapper))
            {
                var customer = new DCustomer { Login = "******", Name = "John Doe" };
                var order = new DOrder { OrderNumber = 1, Customer = customer };

                var customers = db.GetCollection<DCustomer>("Customers");
                var orders = db.GetCollection<DOrder>("Orders");

                customers.Insert(customer);
                orders.Insert(order);

                // create an index in Customer.Id ref
                // x.Customer.Login == "Customer.$id"
                orders.EnsureIndex(x => x.Customer.Login);

                var query = orders
                    .Include(x => x.Customer)
                    .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }
コード例 #2
0
        public void DbRefIndexe_Test()
        {
            var f = "";

            f = @"C:\Git\LiteDB\LiteDB.Shell\bin\Debug\_dbref.db";
            File.Delete(f);

            using (var db = new DbRefIndexDatabase(f))
            {
                var customer = new DCustomer {
                    Login = "******", Name = "John Doe"
                };
                var order = new DOrder {
                    OrderNumber = 1, Customer = customer
                };

                db.Customers.Insert(customer);
                db.Orders.Insert(order);

                // create an index in Customer.Id ref
                db.Orders.EnsureIndex(x => x.Customer.Login);

                var query = db.Orders
                            .Include(x => x.Customer)
                            .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }
コード例 #3
0
ファイル: DbRefIndexTest.cs プロジェクト: ChrisCross67/LiteDB
        public void DbRefIndexe_Test()
        {
            using (var db = new DbRefIndexDatabase())
            {
                var customer = new DCustomer { Login = "******", Name = "John Doe" };
                var order = new DOrder { OrderNumber = 1, Customer = customer };

                db.Customers.Insert(customer);
                db.Orders.Insert(order);

                // create an index in Customer.Id ref
                db.Orders.EnsureIndex(x => x.Customer.Login);

                var query = db.Orders
                    .Include(x => x.Customer)
                    .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }
コード例 #4
0
        public void DbRefIndex_Test()
        {
            var mapper = new BsonMapper();

            mapper.Entity <DCustomer>()
            .Id(x => x.Login)
            .Field(x => x.Name, "customer_name");

            mapper.Entity <DOrder>()
            .Id(x => x.OrderNumber)
            .Field(x => x.Customer, "cust")
            .DbRef(x => x.Customer, "customers");

            using (var db = new LiteDatabase(new MemoryStream(), mapper))
            {
                var customer = new DCustomer {
                    Login = "******", Name = "John Doe"
                };
                var order = new DOrder {
                    OrderNumber = 1, Customer = customer
                };

                var customers = db.GetCollection <DCustomer>("Customers");
                var orders    = db.GetCollection <DOrder>("Orders");

                customers.Insert(customer);
                orders.Insert(order);

                // create an index in Customer.Id ref
                // x.Customer.Login == "Customer.$id"
                orders.EnsureIndex(x => x.Customer.Login);

                var query = orders
                            .Include(x => x.Customer)
                            .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }
コード例 #5
0
ファイル: DbRefIndexTest.cs プロジェクト: jaked122/LiteDB
        public void DbRefIndexe_Test()
        {
            var f = "";
            f = @"C:\Git\LiteDB\LiteDB.Shell\bin\Debug\_dbref.db";
            File.Delete(f);

            using (var db = new DbRefIndexDatabase(f))
            {
                var customer = new DCustomer { Login = "******", Name = "John Doe" };
                var order = new DOrder { OrderNumber = 1, Customer = customer };

                db.Customers.Insert(customer);
                db.Orders.Insert(order);

                // create an index in Customer.Id ref
                db.Orders.EnsureIndex(x => x.Customer.Login);

                var query = db.Orders
                    .Include(x => x.Customer)
                    .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }
コード例 #6
0
ファイル: DbRefIndexTest.cs プロジェクト: yifans1989/LiteDB
        public void DbRefIndexe_Test()
        {
            using (var db = new DbRefIndexDatabase())
            {
                var customer = new DCustomer {
                    Login = "******", Name = "John Doe"
                };
                var order = new DOrder {
                    OrderNumber = 1, Customer = customer
                };

                db.Customers.Insert(customer);
                db.Orders.Insert(order);

                // create an index in Customer.Id ref
                db.Orders.EnsureIndex(x => x.Customer.Login);

                var query = db.Orders
                            .Include(x => x.Customer)
                            .FindOne(x => x.Customer.Login == "jd");

                Assert.AreEqual(customer.Name, query.Customer.Name);
            }
        }