2015-08-03 101 views
1

我是ASP.NET MVC 4的新手,我正在開發一個應用程序。在我的應用程序中,我有一個帶有屬性ID,名稱的區域表。我想將這個分區表關聯到identityModel.cs文件中的applicationUser。我的主要目標是在我的用戶和地區之間建立一對多的關係。 如同一樣,一個以上的用戶映射到一個區域。我想這在我的applicationUser類ASP.NET MVC身份關係

public class ApplicationUser : IdentityUser 
{ 
    public int ApplicationUserID { get; set; } 

    [ForeignKey("District")] 
    public int DistrictID { get; set; } 
    public virtual District District { get; set; } 
} 

這是我區表太

public class District 
{ 
    public int DistrictID { get; set; } 

    [Required] 
    [Display(Name="District Name")] 
    public string Name { get; set; } 

    public string Status { get; set; } 

    //Retrieving the region value through the id 
    [Display(Name = "Region")] 
    public int RegionID { get; set; } 
    public virtual Region Region { get; set; } 

    public virtual List<AreaCouncil> AreaCouncils { get; set; } 

    public virtual List<ApplicationUser> ApplicationUsers { get; set; } 
} 

當我嘗試腳手架,我收到以下錯誤信息:

「無法檢索「Basis.Models.Region」的元數據。在模型生成期間檢測到一個或多個驗證>錯誤。 Basis.Models.IdentityUserLogin ::實體類型'IdentityUserLogin'沒有定義密鑰。定義此實體類型的關鍵。 Basis.Models.IdentityUserRole ::實體類型'IdentityUserRole'沒有定義關鍵字。定義此實體類型的關鍵字。'支持

任何人都可以請幫我完成這種關係嗎?

回答

0

在ApplicationUser中,您只需要District的一個屬性。除非實際需要運行時多態性,否則您不希望它是虛擬的。

我會命名該地區以外的財產。例如。

public District HomeDistrict {get;set} 
+0

它仍然國旗同樣的錯誤。 – Willie

0

IdentityUser已經有PK了。從ApplicationUser類中刪除

public int ApplicationUserID { get; set; }