我正在使用我的自定义成员资格提供程序覆盖asp.net成员资格提供程序。我想知道在我的用户模型中为 ProviderUserKey 设置的类型是什么类型?
我试过了:
public class User
{
[Key]
public ????? ProviderUserKey { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string PasswordQuestion { get; set; }
...
}
我不知道在创建新用户时如何生成新的ProviderUserKey值。有什么想法吗?
答案 0 :(得分:2)
根据虚拟财产,它应该是
public Object ProviderUserKey { get; set; }
关于你的第一个问题:
我想知道我必须为我设置哪种类型 我的用户模型中的ProviderUserKey?
来自MemershipUser课程的MSDN page:
标识符的类型取决于MembershipProvider或 的MembershipUser 即可。在SqlMembershipProvider的情况下, 自SqlMembershipProvider以来,ProviderUserKey可以作为Guid进行转换 将用户标识符存储为UniqueIdentifier。
因此,它取决于您如何存储用户标识符(作为int / guid / varchar等)。您将其键入Object
,但根据您的实现将其转换为正确的数据类型。
你的第二个问题:
我不知道如何在创建时生成新的ProviderUserKey值 一个新用户。有什么想法吗?
当您创建新用户时,将它们添加到您存储的任何内容(关系数据库,XML文件等)中,检索该进程生成的唯一标识符。如果您此时没有生成唯一的用户标识符,则需要=)