我正在创建Invoice和Product实体之间的多对多关系作为业余爱好 在我的InvoiceProductController中,我正在尝试创建一个InvoiceProduct,但是在创建invoiceProduct的过程中,由于某种原因,当我点击创建按钮时,Product QtyOnHand没有减少。
运行程序时出错,说Object引用没有设置为对象的实例。
我的InvoiceProductsController中有证据:
Product pro = db.InvoiceProducts.Find(invoiceProduct.Product).Product;
pro.QtyOnHand -= invoiceProduct.QtyOrd;
在我创建InvoiceProduct之后放入它,我仍然得到错误。它仍然读取未设置为对象实例的对象。
答案 0 :(得分:0)
这可能是由于延迟加载造成的吗?
如果是这种情况,下面的代码应该有效。
var pro = db.InvoiceProducts
.Include("Product") //explicitly loading Product
//for below: possibly x.Product.ID == invoiceProduct.Product.ID ?
.Where(x=>x.Product == invoiceProduct.Product)
.FirstOrDefault().Product;
pro.QtyOnHand -= invoiceProduct.QtyOrd;