【发布时间】:2014-09-06 20:38:31
【问题描述】:
对于我们使用 MVC 5 的 ASP.NET Web 应用程序,我们使用的是内置的 ASP.NET 身份系统。默认情况下,这会为我们生成一堆有用的表,包括 AspNetUsers。我们创建的实体框架模型包括需要使用 AspNetUsers.Id 列作为外键约束的实体。
似乎无法为未包含在我们的实体框架数据模型中的表创建外键,但我需要做一些事情来做一些事情来制作这个外键约束可能,而不会搞砸默认的身份 API。
我的一个想法是在我们的数据模型中创建类似“UserProxies”的实体。然后,每当创建新用户并将其添加到 AspNetUsers 时,他/她也会添加到我们的 UserProxies 表中。这样,我们在数据模型中就有了 AspNetUsers 数据的“副本”,并且可以自信地引用 UserProxies.Id 列并知道它与 AspNetUsers.Id 匹配。
这种方式很糟糕,因为它只是在复制数据。
我的另一个想法是,忽略外键约束并始终相信关系是有效的。这也很糟糕(但如果没有不涉及重新发明轮子的解决方案,我们正在做的事情可能是可以接受的)。
【问题讨论】:
标签: c# asp.net entity-framework asp.net-membership asp.net-identity