如何从实体框架设计器中继承IdentityUser

时间:2014-08-22 20:25:11

标签: asp.net-mvc asp.net-identity ado.net-entity-data-model entity-framework-designer

我有一个asp.net mvc项目,它使用asp.net Identity来验证用户身份。该数据库是在实体框架设计器中设计的。

有一张名为" Farmers"我想让每个农民登录该应用程序。据我所知,为了实现这一点,农民必须继承IdentityUser,但我怎样才能在实体框架设计师中做到这一点?

3 个答案:

答案 0 :(得分:0)

你的mvc版本是什么?

在mvc5中这是一个很好的回应

http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

这样你可以混合两张桌子。

另一种方法是在两个表之间创建一个使用

的关系
User.Identity.Name or

User.Identity.GetHashCode

使用它来获取连接用户的值

答案 1 :(得分:0)

经过大量的研究后,我发现使用Entity Framework Designer无法继承ApplicationUser或IdentityUser。

我的解决方案是从现有数据库创建Code First Model,然后从ApplicationUser继承。

答案 2 :(得分:0)

据我所知,你可以做到这一点,我认为你甚至不应该尝试这样做,即使你可以。

通过从IdentityUser继承,您可以说可以通过SecurityStamp,Roles或PasswordHash(继承自IdentityUser)等属性来描述Farmer,从设计的角度来看,这并没有多大意义。

如果您正在寻找的是用户与农民之间的直接关联,您只需在Farmer模型中添加所需的UserId属性即可。因此,每当您创建一个新的UserIdentity实例时,您也会创建一个新的Farmer实例,并将UserId设置为新创建的UserIdentity的Id属性。