0
如何在無空引用錯誤的情況下附加整個列表或循環?實體使用現有的ID添加新的ID
實體類
public class Product
{
[Key]
public int Product_Id { get; set; }
public string Product_Name { get; set; }
public IList<Category> Categories { get; set; }
}
public class Category
{
[Key]
public int Category_ID { get; set; }
public string Category_Name { get; set; }
public IList<Product> Products { get; set; }
}
從CheckBoxList的
IList<ListItem> prodCat = new List<ListItem>();
foreach (ListItem item in cblCategory.Items)
{
if (item.Selected)
{
prodCat.Add(item);
}
}
列表添加新產品
我試圖附加類別 - 見註釋
public void AddProduct(string prodName, IList<ListItem> prodCat)
{
ProductDBContext productDBContext = new ProductDBContext();
Product prodNew = new Product();
prodNew.Product_Name = prodName;
List<Category> categList = new List<Category>();
foreach (ListItem item in prodCat)
{
Category categObj = new Category
{
Category_Name = item.Text,
Category_ID = Convert.ToInt32(item.Value)
};
categList.Add(categObj);
// prodNew.Categories.Add(categObj); //Null reference
}
prodNew.Categories = categList;
productDBContext.Products.Add(prodNew);
productDBContext.SaveChanges();
}
'添加帶錯誤消息的新產品'錯誤消息說什麼? –
無法轉換類型System.Collections.Generic.IList「on」System.Collections.Generic.IList 「 –
我不是100%確定你的實際問題是。標題指出EF創建了新的對象而不是現有的對象。但稍後您會問如何批量創建新的對象,而無需引用錯誤。看來你的問題並不清楚。你能詳細說明嗎? – sbecker