0

誤ってカスケード削除をfalseにしてテーブルを作成しました。今すぐテーブルをドロップすると、そのテーブルの依存コードを制御するのが非常に難しくなります。もう一度電源を入れることはできますか? Fluent APIのコードは何ですか?他の方法があれば教えてください。誤ってカスケード削除をfalseにします。今私はそれを真実に戻したいと思う。どうしたらいいですか?

あなたは以下のようなコンテキストクラスのOnModelCreatingメソッドでは、カスケードを設定することができ、ここで私のmigarationScreenshot

+0

はオプションの関係で、新しく作成されたテーブルを設定している上記情報は役立ちましたホープは?あなたは 'OnModelCreating'メソッドの内容も表示できますか? –

答えて

0

を参照してください:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<AnyEntityName>() 
       .HasRequired(c => c.Customer) 
       .WithMany(o => o.Orders) 
       .HasForeignKey(o => o.CustomerId) 
       .WillCascadeOnDelete(true); 
    } 

addtionalの情報:

カスケード自動的に削除プリンシパルレコードが削除されると、依存レコードを削除するか、または外部キープロパティにnullを設定します。

カスケード削除は、1対1、1対多、多対多などのすべての種類の関係に対して、既定で有効になっています。

出典:http://www.entityframeworktutorial.net/code-first/cascade-delete-in-code-first.aspx

便利なリンク:http://www.dotnetcurry.com/aspnet-mvc/899/entity-framework-code-first-fluent-aspnet-mvc

+0

Fluent APIをまだ使用していません。 Fluent APIを使用している場合、移行を追加してデータベースを更新する必要がありますか? –

+0

はいあなたは正しいです、あなたはマイグレーションを追加し、データベースを更新する必要があります –

関連する問題