【发布时间】:2018-04-04 15:53:58
【问题描述】:
我已经构建了一个新的 Web 应用程序,它使用 Visual Studio 提供的模板并包含 MVC 和 Web API。默认授权机制是身份,数据库交互是使用实体框架和代码优先创建数据库的方法完成的。
我有三个要求:
- 用户可以拥有一个子对象列表
- 我不想使用“关系”对象
- 所有用户都已经存在于 AspNetUsers 表中,因为他们都需要能够登录,所以我不希望另一个表来维护用户数据
理论上,多个父级可以引用多个子级,但对于本示例,我们将仅将其视为一对多关系。
在我的应用程序中,我需要有一个 ApplicationUser 有一个 ChildUsers 列表作为 ApplicationUser 的集合,如下所示。
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostalCode { get; set; }
public string ShirtSize { get; set; }
public ICollection<ApplicationUser> Children { get; set; }
}
我希望这些用户可以访问,如上所示(ApplicationUser 的集合),而不是将它们联系在一起的 Relationship 对象的集合,例如:
public class Relationship
{
public String ParentId { get;set; }
public String ChildId { get;set; }
}
是否可以在没有代码优先模型的情况下创建新表并将其存在于数据库中以使其知道如何创建关系表?
有什么办法可以解决这个问题?
【问题讨论】:
标签: asp.net entity-framework asp.net-identity dbcontext