2016-06-01 2 views
0

私は新しいMVCプロジェクトを作成し、認証を個々のユーザーアカウントに設定しました。アプリケーションを実行すると、 'dbo'スキーマでこれらをサポートするテーブルが自動的に作成されます。これを別のものに変更することは可能ですか?Entity Frameworkユーザーアカウント - スキーマの変更

私は以下のコメント行を追加しようとしたが、これは動作しませんでした - 定義されていないキーについてのエラーの束を得た: -

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
    { 
     public ApplicationDbContext() 
      : base("App1", throwIfV1Schema: false) 
     { 
     } 

     public static ApplicationDbContext Create() 
     { 
      return new ApplicationDbContext(); 
     } 

     //These are the lines I added - didn't work as expected. 
     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      modelBuilder.HasDefaultSchema("MAIN"); 
     } 

    } 

答えて

0

あなたは上記のEntity Frameworkの6とするためにmodelBuilder.HasDefaultSchema("schemaName")を使用することができます。

IdentityDbContextが原因でエラーが発生し、OnModelCreatingDbContextに上書きされ、IDエンティティ(IdentityUser、IdentityRoleなど)のキーが設定されています。 基本メソッドを次のように呼び出す必要があります。

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{  
    modelBuilder.HasDefaultSchema("MAIN"); 

    base.OnModelCreating(modelBuilder); 
    // changes for identity entities here 
} 
+0

完全に機能しました。 –

関連する問題