asp.net Web应用程序使用MVC 5,我们使用的是内置的ASP。. NET身份系统。默认情况下,这会为我们生成一堆有用的表,包括AspNetUsers。我们创建的实体框架模型包括需要使用AspNetUsers的实体。Id列作为外键约束。
为实体框架数据模型中不包含的表创建外键似乎是不可能的,但我仍然需要做一些的事情来使这个外键约束成为可能,而不会搞砸默认的身份API。
我的一个想法是在我们的数据模型中创建一个类似"UserProxies"的实体。然后每当一个新用户被创建并添加到AspNetUsers时,他/她也被添加到我们的UserProxies表中。这样,我们在数据模型中就有了一个AspNetUsers数据的"副本",并且可以自信地引用userproxy。Id列,并且知道它与AspNetUsers.Id相匹配。
这有点糟糕,因为它只是复制数据。
我的另一个想法是,忽略外键约束,始终相信关系是有效的。这也很糟糕(但对于我们正在做的事情来说,如果没有不涉及重新发明轮子的解决方案,这可能是可以接受的)。
从msdn查看这篇文章
http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing -概要信息- asp -净-认同- - vs - 2013 templates.aspx
或者这个
如何添加一个外键引用到ASP。Net MVC 5身份?