2つのMVC5アプリケーションに1つのデータベースを使用する必要があります。だから私はデフォルトのアイデンティティテーブルAspNetUsersなどを作成する1つのアプリケーションを持っています今別のアプリケーションから別のアイデンティティテーブルを作成したい。そのために、私はAspNetUsersから "BackOfficeApplicationUsers"にテーブル名の名前を変更しようとしています。以下は私のコード同じデータベースを使用する2つのMVC 5アプリケーションのIDテーブル
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityRole>().ToTable("BackOfficeApplicationRoles");
modelBuilder.Entity<ApplicationUser>().ToTable("BackOfficeApplicationUsers");
modelBuilder.Entity<IdentityUserClaim>().ToTable("BackOfficeApplicationUserClaims");
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.UserId, r.RoleId }).ToTable("BackOfficeApplicationUserRoles");
modelBuilder.Entity<IdentityUserLogin>().HasKey(l => new { l.LoginProvider, l.ProviderKey, l.UserId }).ToTable("BackOfficeApplicationUserLogins");
}
私はエラー「AspNetUsersテーブルが既に存在する」を取得私は更新-データベースんです。私は2番目のアプリケーションからAspNetUsersテーブルを作成しようとしてから名前を変更しようとしていることが分かります。両方のアプリケーションが個別のIDテーブルを持つように、この問題の解決策を教えてください。おかげ
ToTable()は、このように二つの引数を取ることができます。modelBuilder.Entity()ToTable( "ユーザー"、 "dbo");あなたはこの1つを試してdboを変更できますか? –
theMost1ted
@ theMost1tedいいえ、これは動作しません。私はupdate-database-scriptを通してスクリプトをチェックしました。最初にデフォルトスキーマdboでテーブルを作成し、スキーマ "backoffice"に名前を変更します – sanjeev