![](/img/trans.png)
[英]ASP.NET Core 3.0 MVC CRUD for object that contains list of objects
[英]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.