コード例 #1
0
ファイル: Program.cs プロジェクト: TNBegin/LearnMvcWebApp
        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;
                }
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: TNBegin/LearnMvcWebApp
        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;
                }
            }
        }