public virtual void TestCustomersIncludeOrdersAndDetails()
{
var custs = db.Customers
.Include(c => c.Orders)
.IncludeWith<Order>(o => o.Details)
.Where(c => c.CustomerID == "ALFKI")
.ToList();
AssertValue(1, custs.Count);
Assert.AreNotEqual(null, custs[0].Orders);
AssertValue(6, custs[0].Orders.Count);
Assert.IsTrue(custs[0].Orders.Any(o => o.OrderID == 10643));
Assert.AreNotEqual(null, custs[0].Orders.Single(o => o.OrderID == 10643).Details);
AssertValue(3, custs[0].Orders.Single(o => o.OrderID == 10643).Details.Count());
}