InsertAllOnSubmit究竟是如何在Linq中运行的

时间:2014-12-29 11:48:20

标签: linq asp.net-mvc-4 linq-to-sql

我有两个表产品和订单由于某种原因我只想要一些记录来坐在Orders表中 我有以下代码

public ActionResult Order()
    {           
        List<Product> products=TempData["products"] as List<Product>;
        List<Order> orders = new List<Order>();
        Order order = new Order();
        foreach (var item in products)
        {
            order.Customer_Id = 1;
            order.Product_Name = item.Model_Name;
            order.Amount = item.Price;
            order.Order_Date = DateTime.Now.ToLocalTime();
            orders.Add(order);
        }                 
        db.Orders.InsertAllOnSubmit(orders);            
        db.SaveChanges();
        return View(products);
    }

我只是想知道它是如何在网上找到一些东西但却无法理解它是如何工作的。任何人都可以告诉它如何工作,如何在上面的代码中应用它

1 个答案:

答案 0 :(得分:1)

我不知道为什么它没有编译,根据您提出的讨论,您可能会粘贴其他一些代码,但这绝对有用:

public ActionResult Order()
{           
    List<Product> products=TempData["products"] as List<Product>;

    foreach (var item in products)
    {
        Order order = new Order();
        order.Customer_Id = 1;
        order.Product_Name = item.Model_Name;
        order.Amount = item.Price;
        order.Order_Date = DateTime.Now.ToLocalTime();
        db.Orders.Add(order);
    }                 

    db.SaveChanges();
    return View(products);
}

编辑:请注意,因为您正在调用SaveChanges而不是SubmitChanges然后很可能您没有使用 linq2sql而是实体框架而您只是混淆了这些二!

InsertAllOnSubmit未在EF中实现,您只需使用我建议的代码。