2017-02-10 15 views
0

ASPNetUsersテーブルをカスタムテーブルユーザーにマップしようとしています。以下はクラスとその関係です。"他のエンティティに使用されているため、エンティティのスキーマ ''テーブルを使用できません"エラー

public partial class Users  
{ 
    public int Id { get; set; }  
    public string FirstName { get; set; }  
    public string MiddleName { get; set; }   
    public string LastName { get; set; }   
    public string UserInfoId { get; set; }  
    public virtual AspNetUsers UserInfo { get; set; } 
} 

public class ApplicationUser : IdentityUser 
{ 
    public virtual Users Users { get; set; } 
} 

我々はこれらのモデルを使用してIDを実装しているとき、私たちは以下のエラーを取得:

"Cannot use table 'AspNetUsers' in schema '' for entity 'AspNetUsers' since it is being used for another entity."

我々はASPNetUsersテーブル内のすべての変更を行っていません。それは私たちが移行を通過したのと同じです。

これをどのように修正できますか?

protected override void OnModelCreating(ModelBuilder builder) 
{ 
    base.OnModelCreating(builder); 
    new AspNetUsersConfiguration(builder.Entity<AspNetUsers>()); 
} 

そして、あなたの設定ファイルに:あなたはAspNetUsersテーブルをカスタマイズする必要があなたのApplicationDbContextで

+0

[リンク]の可能な複製(http://stackoverflow.com/questions/34575020/cannot-use-table-aspnetusers-in-schema-for-entity-aspnetusers-since-it-is) – RRM

答えて

1

public class AspNetUsersConfiguration 
{ 
    public AspNetUsersConfiguration(EntityTypeBuilder<AspNetUsers> entity) 
    { 
    entity.ToTable("AspNetUsers", "dbo"); 
    entity.HasKey(e => e.Id); 
    } 
} 

キー答えは内「のテーブルにAspNetUsersをスキーマ "DBO" を定義しています"

関連する問題