static void AddTestData() { using (ModelFirstModelContainer db = new ModelFirstModelContainer()) { try { Customer _Customer = new Customer { Id = Guid.NewGuid(), Name = "muyi", Age = 27, ComepanyName = "quandier", Telphone = "18730912482", Sex = "m" }; Order _Order1 = new Order { OrderNo = "201707280001", Amount = 15, CreateTime = DateTime.Now, CustomerId = _Customer.Id }; Order _Order2 = new Order { OrderNo = "201707280002", Amount = 15, CreateTime = DateTime.Now, Customer = _Customer }; Product _Product = new Product { Name = "华为荣耀8", Price = 2599, Weight = 1, Customer = new List <Customer>() { _Customer } }; #region 方法一 db.Customer.Add(_Customer); db.Product.Add(_Product); db.Order.Add(_Order1); db.Order.Add(_Order2); #endregion #region 方法二 //db.Customer.Attach(_Customer); //db.Entry(_Customer).State = EntityState.Added; //db.Order.Attach(_Order1); //db.Entry(_Order1).State = EntityState.Added; //db.Order.Attach(_Order2); //db.Entry(_Order2).State = EntityState.Added; //db.Product.Attach(_Product); //db.Entry(_Product).State = EntityState.Added; #endregion if (db.SaveChanges() > 0) { Console.WriteLine("add records success !"); } else { Console.WriteLine("add records failed !"); } } catch (DbEntityValidationException e) { throw; } } }
static void ShowOrderList() { using (ModelFirstModelContainer db = new ModelFirstModelContainer()) { try { #region 方法一 Linq /*通过导航属性关联*/ //var _orderList = (from o in db.Order // where o.Customer.Name == "muyi" // select o).ToList<Order>(); /*通过Join 关联*/ var _orderList = (from o in db.Order join c in db.Customer on o.CustomerId equals c.Id where c.Name.Equals("muyi") select o).ToList(); #endregion #region 方法二 Lambda /*通过导航属性关联*/ //var _orderList = db.Order.Where(o => o.Customer.Name == "muyi").ToList(); /*通过Join 关联*/ //var _orderList = db.Order.Join(db.Customer, o => o.CustomerId, c => c.Id, (o, c) => new { o, c }).Where(o=>o.c.Name.Equals("muyi")).Select(o => o.o).ToList(); #endregion Console.WriteLine("muyi订单如下:"); _orderList.ForEach(o => Console.WriteLine(string.Format("订单号:{0}, 订单金额:{1}, 创建时间:{2}", o.OrderNo, o.Amount, o.CreateTime))); } catch (Exception e) { throw; } } }