这是我将产品添加到数据库中的代码:
public void AddToCart(Product item)
{
// Get the matching cart and album instances
var cartItem = entities.Orders.FirstOrDefault(
c => c.OrderGUID == ShoppingCartId
&& c.OrderItems.Where(p=>p.ProductId == item.ProductId).FirstOrDefault().ProductId == item.ProductId);
if (cartItem == null)
{
// Create a new cart item if no cart item exists
cartItem = new Order
{
InvoiceNumber = Guid.NewGuid().ToString(),
OrderDate=DateTime.Now,
OrderGUID = ShoppingCartId
};
entities.Orders.Add(cartItem);
}
else
{
// If the item does exist in the cart,
// then add one to the quantity
cartItem.OrderItems.Where(p => p.ProductId == item.ProductId).SingleOrDefault().ProductQuantity++;
}
// Save changes
entities.SaveChanges();
OrderItem oi = new OrderItem()
{
OrderGUID = ShoppingCartId,
ProductId = item.ProductId,
ProductQuantity = item.Quantity,
ProductPrice = item.ProductPrice,
Product = item
};
entities.OrderItems.Add(oi);
entities.SaveChanges();
}
当它碰到这条线
entities.OrderItems.Add(oi);
如果当我得到上述错误。有任何想法吗?
乍一看,我会怀疑此代码中的实体变量与参数“产品项”来自哪个实体变量不是同一实体框架。当引用一个项目时,它必须由相同的实体框架数据模型加载。
您可以尝试通过ID进行引用:
OrderItem oi = new OrderItem()
{
OrderGUID = ShoppingCartId,
ProductId = item.ProductId,
ProductQuantity = item.Quantity,
ProductPrice = item.ProductPrice,
ProductID = item.ID // Changed here
};
entities.OrderItems.Add(oi);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句