簡體   English   中英

ASP.NET Core 3.0 MVC 更新 model 與列表對象 - 添加 object

[英]ASP.NET Core 3.0 MVC update model with list objects - add object

我有以下課程:

public class Invoice
{    
     [key]
     public Guid InvoiceID { get; set; }
     public string Name { get; set; }
     public List<Invoice_item> Invoice_items { get; set; }
     
     public Invoice()
     {
         InvoiceID = Guid.NewGuid();
         Invoice_items = new List<Invoice_item>();
     }
} 

和:

public class Invoice_item
{
     [Key]
     public Guid Invoice_itemID { get; set; }
     public string Description{ get; set; }
     public int Price { get; set; }
     public int qty { get; set; }
     
     public Invoice_item()
     {
            Invoice_itemID = Guid.NewGuid();
     }
}

它工作正常。 我可以編輯這個 model。 Controller:...

Invoice invoice = await _context.Invoice.Include(i => i.Invoice_items).Where(x => x.InvoiceID == id).FirstOrDefaultAsync();

invoice.Name = "2020/122";
invoice.Invoice_items[0].Description = "Some name";
invoice.Invoice_items[0].Price = 1;
invoice.Invoice_items[0].qty = 1;

_context.Update(invoice);
await _context.SaveChangesAsync();

// WORK OK

但問題是當我想在列表中添加一個項目時:Controller: ...

Invoice invoice = await _context.Invoice.Include(i => i.Invoice_items).Where(x => x.InvoiceID == id).FirstOrDefaultAsync();

invoice.Name = "2020/122";
invoice.Invoice_items[0].Description = "Description 1";
invoice.Invoice_items[0].Price = 1;
invoice.Invoice_items[0].qty 1;

Invoice_item item = new Invoice_item()
{
  Description = "Description 2",
  Price = 2,
  qty = 2
};

invoice.Invoice_items.Add(item);   // PROBLEM
                       
_context.Update(invoice);
await _context.SaveChangesAsync();

編輯“發票”記錄時,可以編輯該記錄的所有元素以及附加到它的“Invoice_item”列表的元素。 當我想將一個項目添加到附加到“發票”記錄的“發票項目”列表中時,就會出現問題。

請幫忙。

您只需要在您的item中添加一個Invoice_itemID ,更改您的代碼,如下所示。

Invoice_item item = new Invoice_item()
        {
            //add this line.
            Invoice_itemID = new Guid(),
            Description = "Description 2",
            Price = 2,
            qty = 2
        };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM