【发布时间】:2016-06-03 12:14:12
【问题描述】:
我在理解 mvc 中的绑定过程时遇到了问题。所以我得到的是 3 个数据库表:Orders、Products、PreOrders。我想为许多订单绑定相同的产品。现在我在 Order 模型中有这样的东西(我会将 Products 作为集合保存在那里):
public virtual ICollection<Products> Product { get; set; }
储蓄是这样的:
List<Products> productList = new List<Products>();
foreach (int list in preOrderList)
{
var order = new Orders()
{
//Product = (from item in )
};
var orderResult = _context.PreOrder.Single(o => o.Id == list);
orderResult.Send = true;
var productResult = _context.Products.Single(p => p.Id == orderResult.ProductId);
var newProduct = new Products();
newProduct.Name = productResult.Name;
newProduct.Price = productResult.Price;
productList.Add(newProduct);
OrderList.Add(orderResult);
}
var orders = new Orders()
{
Product = productList
};
_context.Orders.Add(orders);
_context.SaveChanges();
使用此代码,我创建了另一个产品,但我需要将产品绑定到此订单,然后将相同的产品添加到另一个订单。有可能吗?
附言
我尝试添加现有产品:
productList.Add(productResult);
但结果我只能为每个产品分配一次。
【问题讨论】:
-
"但是结果我只能为每个产品分配一次。" - 你能详细说明一下吗?
-
公共虚拟ICollection
Product { get;放; } 创建在 Products 模型中分配的虚拟 OrdersId。因此,如果我创建具有相应产品 OrdersId 的订单,然后如果我创建另一个订单,则将其设置为新的 OrdersId。
标签: c# asp.net-mvc entity-framework data-binding