public void TestUniqueWithSave() { //new up the repository EntitiesRepository<Customer, NorthwindEntities> ctx = new EntitiesRepository<Customer, NorthwindEntities>(new NorthwindEntities()); //new up a specification Specification<Customer> cust_spec = new Specification<Customer>(c => c.Country == "Germany" && c.CustomerID == "KOENE"); var unique_german_cust = ctx.Unique("Customers", cust_spec); var rand_num = new Random(DateTime.Now.Year).Next(); unique_german_cust.Orders.Add(new Order() { ShipName = "Nikovshi" + rand_num.ToString() }); ctx.Save(); Assert.IsNotNull(unique_german_cust); Console.WriteLine("The Unique customer ID is : {0}", unique_german_cust.CustomerID); }
public void Multi_Level_Mixed_Hierarchy_With_Persisting_Test() { EntitiesRepository<Customer, NorthwindEntities> repos = new EntitiesRepository<Customer, NorthwindEntities>(new NorthwindEntities()); Specification<Customer> german_cust_spec = new Specification<Customer>(c => c.CustomerID == "ALFKI"); var german_custs = repos.AllToIList(german_cust_spec, new MultiLevelMixedStrategy()); foreach (var cust in german_custs) { cust.Country = "Germany"; Console.WriteLine("The Customer Name is {0}", cust.CompanyName); foreach (var order in cust.Orders) { order.ShipName = "Battleship Potemkin"; Console.WriteLine("\tThe Order ID is : {0}", order.OrderID); foreach (var orderline in order.Order_Details) { orderline.Discount = 0.15f; Console.WriteLine("\t\tThe value ordered for Product ID {0} is {1}", orderline.Product.ProductID, orderline.UnitPrice * orderline.Quantity); } } } german_custs[0].Orders.Add(Order.CreateOrder(999999)); repos.Save(); }