我有一个 asp.net mvc 项目,它使用 asp.net Identity 对用户进行身份验证。该数据库是在实体框架设计器中设计的。
有一个名为“Farmers”的表,我想允许每个农民登录到应用程序。据我所知,为了实现这一点,农民必须从 IdentityUser 继承,但我如何在实体框架设计器中做到这一点?
我有一个 asp.net mvc 项目,它使用 asp.net Identity 对用户进行身份验证。该数据库是在实体框架设计器中设计的。
有一个名为“Farmers”的表,我想允许每个农民登录到应用程序。据我所知,为了实现这一点,农民必须从 IdentityUser 继承,但我如何在实体框架设计器中做到这一点?
你的mvc版本是什么??
在 mvc5 中这是一个很好的响应
这样你就可以混合两张桌子。
另一种方法是在使用的两个表之间创建关系
User.Identity.Name or
User.Identity.GetHashCode
使用它来获取已连接用户的值
经过大量研究后,我发现使用实体框架设计器无法从 ApplicationUser 或 IdentityUser 继承。
我的解决方案是从现有数据库创建 Code First 模型,然后从 ApplicationUser 继承。
据我所知,你不能真正做到这一点,我认为即使你可以,你也不应该尝试这样做。
通过从 IdentityUser 继承,您是说 Farmer 可以通过 SecurityStamp、Roles 或 PasswordHash(从 IdentityUser 继承)等属性来描述,从设计的角度来看,这没有多大意义。
如果您正在寻找用户和农民之间的直接关联,您可以简单地在农民模型中添加所需的 UserId 属性。因此,每当您创建一个新的 UserIdentity 实例时,您也会创建一个新的 Farmer 实例,并将 UserId 设置为新创建的 UserIdentity 的 Id 属性。