私のモデルでは、カテゴリと製品の2つのクラスがあります。それらの間には多くの関係があります。コンテキストに既存のエンティティを追加する
すべてのカテゴリの状態を手動で変更し、saveChanges()の前にデバッガで監視したところ、これらのカテゴリはすべて変更済みとしてマークされていました。しかし、カテゴリと製品の間の要求マッピングは、私のデータベースでは更新されませんでした。更新機能のコード。
public void UpdateProduct(Product product)
{
using (EFDbContext context = new EFDbContext())
{
context.Products.Attach(product);
if (product.Categories != null)
{
foreach (var item in product.Categories)
{
context.Entry(item).State = EntityState.Modified;
}
}
context.Entry(product).State = EntityState.Modified;
context.SaveChanges();
}
}