マスターテーブルと詳細テーブルがあります。たとえば、マスター テーブルはObjectSet<'MasterObject>で、詳細テーブルはObjectSet<'DetailObject>です。したがって、それぞれMasterObjectに が含まれますEntityCollection<'DetailObject>。私が理解しているようにDetailObject、次を使用してデータベースから削除できます。
EntityCollection<'DetailObject> ec = masterObject.DetailObjects;// ナビゲーション プロパティとしてec.Remove(deleting_detail_object);// delete_detail_object は削除され、削除対象としてマークされます。context.SaveChanges();// 例外があります
(ナビゲーション プロパティ)Remove()の後は. 正常です。ただし、次の例外を教えてください:deleting_detail_object.MasterObjectnullcontext.SaveChanges()
「操作に失敗しました: 1 つ以上の外部キー プロパティが null 値を許容しないため、リレーションシップを変更できませんでした。リレーションシップが変更されると、関連する外部キー プロパティが null 値に設定されます。外部キーは null 値をサポートしていません。新しい関係を定義する必要があります。外部キー プロパティに別の非 null 値を割り当てるか、関連のないオブジェクトを削除する必要があります。」
これは で削除できますがDetailObject、context.RemoveObject()で削除できEntityCollection<>ますか?