我正在使用 Windows 表單,我只是在學習物體框架,我有一個問題:我創建了Customer一個串列型別為 的類,Item并使用物體框架為它創建了一個表。但是當我嘗試從中獲取串列時,我收到了 NullReference 例外。
這是我的課程:
public class Item
{
public int Id{ get; set; }
public string ItemName { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}
public class Customer
{
public int Id { get; set; }
public string UserName { get; set; }
public string PassWord { get; set; }
public List<Item> Items { get; set; }
}
這是我創建的根據客戶的客戶串列獲取客戶串列的方法ID。我從登錄中獲得了 Id,它作業得很好:
public List<Item> CustomerItems()
{
using var context = new CustomerContext();
var customer= context.Customers.Find(Id);
var items = customer.Items;
return items;
}
我想使用這種方法來更新資料網格并將新專案添加到串列中。
我向Item表中添加了一些條目,但它們沒有顯示在資料網格中。
uj5u.com熱心網友回復:
請檢查檔案的加載相關資料部分以獲取如何加載鏈接資料的選項。
同樣在這種情況下,您可以只使用正確的查詢回傳僅需要的資料。例如:
var items = context.Customers
.Where(c => c.Id == Id)
.SelectMany(c => c.Items)
.ToList();
uj5u.com熱心網友回復:
在上面提供的代碼片段中,NullReferenceException可能會出現在Items運算式customer.Itemswhen customeris中的訪問中null。應修改代碼以處理該null值,例如
var items = (customer == null) ? new List<Item>() : customer.Items;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/356463.html
上一篇:哪里需要客戶評估?
