public void OneToManyWithOptionalRelation() { Customer customer = new Customer { Name = "x" }; customer.Save(); SalesPerson salesPerson = new SalesPerson { Name = "Test" }; salesPerson.Save(); Order[] orders = new[] { new Order() { CustomerID = customer.CustomerID, OrderDate = DateTime.Today, SalesPersonID = null}, new Order() { CustomerID = customer.CustomerID, OrderDate = DateTime.Today, SalesPersonID = salesPerson.ID} }; foreach (var order in orders) { DB.Insert(order); } salesPerson = DB.SalesPeople.First(); salesPerson.Orders.Count().Should().Be(1); salesPerson.Orders.First().OrderID.Should().Be(orders[1].OrderID); }
public void ManyToOne() { Customer customer = new Customer { Name = "x" }; customer.Save(); SalesPerson salesPerson = new SalesPerson {Name = "Test"}; salesPerson.Save(); var order = new Order { SalesPersonID = null, CustomerID = customer.CustomerID }; DB.Orders.Insert(order); int id = order.OrderID; order = DB.Orders.Read(id, o => o.Customer); Assert.AreEqual(order.Customer.CustomerID, customer.CustomerID); order.SalesPersonID = salesPerson.ID; order.Save(); order = DB.Orders.Read(id, (o) => o.SalesPerson); Assert.AreEqual(salesPerson.ID, order.SalesPerson.ID); order.SalesPersonID = null; order.SalesPerson = null; order.Save(); order = DB.Orders.Read(id, o => o.SalesPerson); Assert.IsNull(order.SalesPerson); Assert.IsNull(order.SalesPersonID); }