我正在使用使用Entity框架核心的ASP.NET Core应用程序。我使用代码第一种方法来创建数据库模型。我正在尝试在以下两个类之间获得一对多的关系(一个用户可以拥有多个产品),但在数据库图表中,我看不到这种关系。
public class SystemUser : IdentityUser
{
public SystemUser()
{
this.ProductToUser = new HashSet<ProductsToUser>();
}
[StringLength(200)]
[Required]
public string FullName { get; set; }
[Required]
[StringLength(200)]
public string Address { get; set; }
[Required]
public int PinNo { get; set; }
[Required]
public int StateId { get; set; }
[Required]
public int CountryId { get; set; }
[Required]
public DateTime RegisterDate { get; set; }
public virtual ICollection<ProductsToUser> ProductToUser { get; set; }
}
public class ProductsToUser
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public string UserId { get; set; }
[Required]
public int ProductID { get; set; }
[ForeignKey("UserId")]
public SystemUser SystemUser { get; set; }
}
正如您在图表中看到的那样,它没有显示关系。但是我在ProductsToUser
表中得到了外键约束,如下所示
如何解决此问题?