0

Entity Frameworkで外部キーを読んだ後、EF 5コードファーストアプリケーションに外部キー関係を追加してみました(このアプリは現在、独立した関連付けを使用しています)。

生成されたDDLにカスケード削除が含まれていることに気付きました。これは、独立したアソシエーションの動作の反対です。

慣例ClassnameIdに従って名前が付けられたintプロパティを追加することにより、EFコードファーストで外部キー関係が作成されるとすると、非カスケード削除を行うことは可能ですか?その場合、データベースから削除せずに関連オブジェクトの関連付けを解除するために、 ClassnameIdにどのような値が割り当てられますか?

4

1 に答える 1

1

null許容ではない外部キーを明示的に宣言した場合、EFはカスケード削除が必要であると想定します。

外部キーをnull許容にすることができます。

public int? YourFkId {get;set;}

または、流暢な表記を使用できますOnModelCreating

     modelBuilder.Entity<Class1>()
        .HasMany( c => c.Class2s )
        .WithRequired(x => x.Class1 )
        .WillCascadeOnDelete(false);
于 2012-09-01T09:49:18.293 に答える