我在带有身份验证的ASP.NET Core中创建了一个示例应用程序。 已创建很少的表格,并且应用程序运行良好。
现在,我需要创建新表“ Organizations”。该表应通过前向键以一对多关系与默认表“ AspNetRoles”连接。 每个角色可能有许多关联的组织。 问题是,我在应用程序中找不到这些默认表,并且不知道如何使用代码优先方法创建外键。 我尝试过这样的事情:
public class Organization
{
public int OrganizationId {get; set;}
[ForeginKey="AspNetRoles"]
public int RoleId {get; set;}
}
帮助。
答案 0 :(得分:1)
最后,我了解了如何实现这一目标。
public virtual string RoleId { get; set; }
[ForeignKey("RoleId")]
public virtual IdentityRole Roles { get;set; }
AspNetRoles被称为IdentityRole。
答案 1 :(得分:1)
当您具有相关实体的导航属性时,只需将与导航属性相同的相关密钥命名为Id或ID,EF就会自动将其识别为相关实体的外键(例如Role-RoleId)。
{key:privateKey, passphrase: 'im_passphrase'}
您可以了解有关naming conventions in EF Code First here
的更多信息此外,这里还有一个不错的tutorial on complex data models