Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使用ASP.NET MVC简单成员身份存储不同的用户信息集_Asp.net Mvc_Simplemembership - Fatal编程技术网

Asp.net mvc 如何使用ASP.NET MVC简单成员身份存储不同的用户信息集

Asp.net mvc 如何使用ASP.NET MVC简单成员身份存储不同的用户信息集,asp.net-mvc,simplemembership,Asp.net Mvc,Simplemembership,如何使用简单的成员身份存储不同的用户信息集?例如,我分别扮演两个角色(医生和病人)。为这两个角色存储的扩展用户信息有些不同。Simple Membership默认情况下创建一个UserProfile表,我想将其拆分为两个表,分别容纳这两个角色的用户信息 请建议是否以及如何实现这一目标 谢谢。您的“角色”表中定义了角色。然后,对于特定用户,UserId和RoleId都在另一个名为“_UserInRoles”的表中相互关联。现在,创建另一个名为“UserAdditionalInfo”的表,然后 制作

如何使用简单的成员身份存储不同的用户信息集?例如,我分别扮演两个角色(医生和病人)。为这两个角色存储的扩展用户信息有些不同。Simple Membership默认情况下创建一个UserProfile表,我想将其拆分为两个表,分别容纳这两个角色的用户信息

请建议是否以及如何实现这一目标


谢谢。

您的“角色”表中定义了角色。然后,对于特定用户,UserId和RoleId都在另一个名为“_UserInRoles”的表中相互关联。现在,创建另一个名为“UserAdditionalInfo”的表,然后 制作如下表结构

Id(PK)
UserId(FK)
RoleId(FK)
Column1
Column2

现在,您可以根据其角色ID和用户ID将用户附加数据保存在另一个表中,当您需要在前端显示用户配置文件时,您可以在这些表中使用JOIN并返回信息。

谢谢。请注意,除了自动创建的成员资格表之外,我还有两个表存储基于角色的扩展信息。其中一个是UserProfile(用于存储医生),第二个是PatientsProfile(用于存储患者信息)。现在,当我在添加患者时调用WebSecurity.CreateUserandAccount方法时,我想向PatientProfile添加一条记录。但是,记录会被添加到UserProfile,而不是。我曾尝试使用WebSecurity.CreateCount,但它导致错误,提供程序遇到未知错误。想法?如果您想这样做,那么您将不会使用角色功能。所以,我建议你们有两张不同的桌子,一张是给医生的,另一张是给病人的。现在,要在数据库表中添加患者,可以使用LINQ查询而不是使用“WebSecurity.CreateUserandAccount()”,该查询将在表中创建患者行。如果上面的答案有帮助,那么请接受这个答案,或者让我知道这个评论是否有帮助,然后我可以编辑我的答案,这样可以帮助其他人。谢谢你的回复。您的意思是说,在这种情况下,我不应该使用SimpleMemberships,而应该在两个不同的表中单独处理不同角色的帐户管理?如果使用SimpleMemberships并尝试使用WebSecurity.CreateUserandAccount创建帐户,则将在memberships表和UserProfile表中创建一行,该表的结构仅用于存储医生信息。因此,我无法在尝试添加患者时使用此方法。我的意思是,您应该仅为医生使用SimpleMemberships,并且要存储患者数据,您应该使用另一个表,并使用LINQ插入患者数据,而不是“WebSecurity.CreateUserandAccount”。我希望这是一个明确而直接的答案。你能告诉我医生表和病人表的列是什么吗。这将使情况更加清楚。