ここで説明する方法を使用して、親レコードと関連するすべての子レコードを削除しようとしています。ただし、親は期待どおりに削除されますが、子レコードのキーフィールドは削除されずにNULLに更新されます。
また、子テーブルの外部キーの削除ルールをカスケードに設定し、SQL Server Managementの親テーブルから削除すると、期待どおりにカスケード削除が実行されます。
私はこのウォークスルーに従い、削除を実行するようにコードを変更することから始めました。
これはコードです:
using (var db = new ProductContext())
{
var food = db.Categories.Find("FOOD");
((IObjectContextAdapter)db).ObjectContext.LoadProperty(food, f => f.Products);
db.Categories.Remove(food);
int recordsAffected = db.SaveChanges();
足りないものはありますか?または、孤立した子は意図した結果を記録しますか?