私は次のクラスを持っています
public class ObjectA{
private List<ObjectB> list;
}
ObjectA
とObjectB
N:N の関係にあります。
リレーションのみを削除したいので使用します
while (objectA.list.Any())
objectA.list.Remove(objectA.list.First());
リストは関係テーブルのものです -
List<ObjectAobjectB>
そして、私は得る
操作に失敗しました: 1 つ以上の外部キー プロパティが null 非許容であるため、リレーションシップを変更できませんでした。リレーションシップに変更が加えられると、関連する外部キー プロパティが null 値に設定されます。外部キーが null 値をサポートしていない場合は、新しい関係を定義するか、外部キー プロパティに別の非 null 値を割り当てるか、関連のないオブジェクトを削除する必要があります。
編集:モデル定義の更新 モデル
には 3 つのテーブルがあります:
* ClassA - SchemaA、
* ClassAClassB - SchemaA、
* ClassB - SchemaB、
私のコンテキスト (および edmx ) には、スキーマ A ( ClassA および ClassAClassB) しかありません
。関係テーブルに対して 1:N です。
edmx から生成されたコードを次に示します。
public partial class ClassA:DomainEntity
{
....
public virtual ICollection<ClassB> ClassAClassB { get; set; }
}
私は何を間違っていますか?
ありがとう。