C# 将数据关联到ASP.NET成员
我正在做我的第一个基于ASP.NET成员身份的项目,我在弄清楚如何将自定义数据与特定成员关联方面遇到了问题。这里的惯例是什么 例如,我想制作一个网络应用程序,人们可以对不同的事情进行投票。为了确保人们不会一次又一次地投票,我想追踪谁对什么样的投票进行了投票。(我提供了一个预期用途的示例,但主要对通用实现感兴趣) 有没有人知道已经在线编写的指南或其他关于这方面的好资源C# 将数据关联到ASP.NET成员,c#,asp.net-mvc,asp.net-mvc-3,entity-framework,asp.net-membership,C#,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,Asp.net Membership,我正在做我的第一个基于ASP.NET成员身份的项目,我在弄清楚如何将自定义数据与特定成员关联方面遇到了问题。这里的惯例是什么 例如,我想制作一个网络应用程序,人们可以对不同的事情进行投票。为了确保人们不会一次又一次地投票,我想追踪谁对什么样的投票进行了投票。(我提供了一个预期用途的示例,但主要对通用实现感兴趣) 有没有人知道已经在线编写的指南或其他关于这方面的好资源 如果**相关,我将使用EF4访问数据库(我不直接需要EF和/或数据库访问方面的帮助,只需要了解成员资格与其他数据的关系)。目前,由
如果**相关,我将使用EF4访问数据库(我不直接需要EF和/或数据库访问方面的帮助,只需要了解成员资格与其他数据的关系)。目前,由于GoDaddy在每个数据库上给了我空间,我计划将成员身份存储在MsSQL中,其余数据存储在MySQL中。您需要唯一标识当前登录的用户。您很可能希望使用
MembershipUser.ProviderUserKey
,它是由特定风格的MembershipProvider
提供的唯一标识符。对于SqlMembershipProvider
,此属性的值为Guid
因此,您可以在投票记录上有一个属性,如下所示(假设您使用的是SqlMembershipProvider
):
您可以按如下方式获取当前用户的ID:
Guid userId = (Guid)Membership.GetUser().ProviderUserKey;
Vote vote = new Vote { UserId = userId };
当然,在创建和保存新投票之前,您可以从这里进行查询,以确保没有投票和UserId==UserId
存在
Guid userId = (Guid)Membership.GetUser().ProviderUserKey;
Vote vote = new Vote { UserId = userId };