更新和删除具有导航属性的实体的最佳做法

时间:2017-09-26 18:56:23

标签: c# entity-framework

我有两个具有一对多关系的实体(SaleInvoice和SaleInvoiceDetail)。我添加的这段代码正在运行,但我想知道更新或删除这种导航属性中的值的最佳做法是什么(在我的SaleInvoiceDetails列表中)。这样做的最佳方式是什么?

Here is Model designer view

     HttpSession session=request.getSession();  //in CSRFToken class
     session.setAttribute("csrfToken",csrfToken);  

     HttpSession session=request.getSession(false);  // in ValidateCSRFToken
     String csrfToken=(String)session.getAttribute("csrfToken"); 

1 个答案:

答案 0 :(得分:0)

您需要另一个内部if条件来执行删除:

if (saleInvoiceDetail.Id != 0)
{
    var invoiceDetailInDb = context.SaleInvoiceDetails.Find(saleInvoiceDetail.Id);
    if(invoiceDetailInDb == null) DoDelete();
    else{
         invoiceDetailInDb = saleInvoiceDetail;
         invoiceDetailInDb.SaleInvoiceId = saleInvoiceInDb.Id;
    }
}