ヌル参照エラーなしでリスト全体またはループ全体をどのようにアタッチできますか?エンティティは既存のIDを使用する代わりに新しいIDを追加します
エンティティクラス
私はカテゴリーを添付しようとしたCheckBoxListの
IList<ListItem> prodCat = new List<ListItem>();
foreach (ListItem item in cblCategory.Items)
{
if (item.Selected)
{
prodCat.Add(item);
}
}
から
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; }
}
リストの追加新製品 - のコメントを参照
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 "System.Collections.Generic.IList " "System.Collections.Generic.IListを変換できません" –
実際の問題が何であるかわからないです。タイトルは、EFが既存のオブジェクトの代わりに新しいオブジェクトを作成したことを示しています。しかし、後で、参照エラーなしで新しいオブジェクトを一括して作成する方法を尋ねます。あなたの質問は私には分かりません。あなたは精緻化できますか? – sbecker