2016-09-04 8 views
0

以下の2つのモデルがあります。移行を追加してデータベースを更新しようとするたびに、次のエラーが発生します。Entity Frameworkコードファースト - EntityContainerは一意である必要があります

Applicant_Addresses:名前:EntityContainerの各メンバー名は、一意である必要があります。 「Applicant_Addresses」という名前のメンバーは既に と定義されています。

私はSOを検索し、DLLの削除を試みましたが、プロジェクトのクリーニングなどのリンクにある提案に従って、最小限のコードで新しいプロジェクトを再作成しましたが、役に立たなくなってしまいました。

The EntityContainer name must be unique. An EntityContainer with the name 'Entities' is already defined

誰もが私が行方不明です何を見ることができますか?

namespace Demo.Data.EntityModels 
{ 
public class Applicant 
{ 
    public Guid Id { get; set; } 

    public EnumHelper.Salutation Title { get; set; } 

    public string E_FirstName { get; set; } 

    public string E_LastName { get; set; } 

    public DateTime DateOfBirth { get; set; } 

    public virtual IList<Applicant_Address> Addresses { get; set; } 
} 
} 

namespace Demo.Data.EntityModels 
{ 
public class Applicant_Address 
{ 
    public Guid Id { get; set; } 

    public Guid Applicant_Id { get; set; } 

    public virtual Applicant Applicant { get; set; } 

    public EnumHelper.ResidentialStatus ResidentialStatus { get; set; } 

    public string E_Flat_Unit { get; set; } 

    public string E_Building { get; set; } 

    public string E_Street { get; set; } 

    public string E_Locality { get; set; } 

    public string E_Town { get; set; } 

    public string E_County { get; set; } 

    public string E_PostCode { get; set; } 
} 
} 

public class DemoContext : DbContext 
{ 
    public DemoContext() : base("DemoContext") 
    { 
    } 

    public DbSet<Applicant> Applicants { get; set; } 

    public DbSet<Applicant_Address> Applicant_Addresses { get; set; } 


    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 

     modelBuilder.Entity<Applicant>().HasKey(k => k.Id); 
     modelBuilder.Entity<Applicant_Address>().HasKey(k => k.Id); 

     modelBuilder.Entity<Applicant>().HasMany(a => a.Addresses).WithRequired(ad => ad.Applicant).HasForeignKey(a => a.Applicant_Id); 
    } 
} 

答えて

0

あなたは、私が間違って何をやっていた、働い

modelBuilder.Entity<Applicant_Address>().HasRequired(_ => _.Applicant).WithMany(_ => _.Addresses).HasForeignKey(a => a.Applicant_Id); 
+0

と、コンフィギュレーションの最後の行を変更できますか? –

+0

EFを使用すると、関係を反転する必要があります。 – bubi

+0

ありがとう - それは私を怒らせていた。 –

関連する問題