我目前正在使用实体框架7.0.0-beta3,并试图在两个表之间创建多对多关系。对于我使用的语法从The answer of this question,减去ICollections:EF7:添加到数据库上下文时不会生成外键
public class Permissions
{
public Guid PermissionId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class relUserPermissions
{
public string UserId { get; set; }
public ApplicationUser User { get; set; }
public Guid PermissionId { get; set; }
public Permissions Permission { get; set; }
}
ApplicationUser
是指AspNetUsers
表。使用kpm迁移工具,这将创建带有外键的relUserPermissions
表,其中包括AspNetUsers
和Permissions
。
正如我试图通过LINQ访问这个,我需要使用public DbSet<relUserPermissions> relUserPermission { get; set; }
将关系添加到数据库上下文。但是,一旦我添加该行,将不再生成Permissions
的外键,外键为AspNetUsers
仍然是。
我已经试过了,用ICollection代替了Ilist。不工作。尽管如此,我发现了一个解决方法。 –