ASP..NET MVC身份关系

本文关键字:关系 身份 MVC NET ASP | 更新日期: 2023-09-27 18:06:07

我是ASP新手。. NET MVC 4和我正在开发一个应用程序。在我的应用程序我有一个地区表与属性id,名称。我想将这个地区表关联到identityModel.cs文件中的applicationUser。我的主要目标是在我的用户和地区之间建立一对多的关系。例如,一个以上的用户映射到一个地区。我尝试在我的applicationUser类

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"没有键>定义。定义这个实体类型的键'........

有谁能帮我完成这个关系吗?

ASP..NET MVC身份关系

在ApplicationUser中你只需要一个District的属性。除非你真的想要运行时多态,否则你不希望它是虚拟的。

我将把这个属性命名为其他的东西,而不是"区"。例如

public District HomeDistrict {get;set}

IdentityUser已经有一个PK. remove

public int ApplicationUserID { get; set; }

从你的ApplicationUser