ASP .NET MVC 4:WebSecurity.CreateUserAndAccount如何设置UserId

use*_*334 4 .net asp.net-mvc entity-framework

我想在Configuration.cs中移动数据库表和数据(用户,角色等用户)的初始化,如本文所述:http://blog.longle.net/2012/09/25/seeding-users-和角色与- mvc4-simplemembershipprovider-simpleroleprovider-EF5-codefirst和定制用户的属性/

但我有一个问题:是否可以设置添加用户的UserId?我的意思是,我可以添加5个用户,并且,我认为他们应该得到1-2-3-4-5 ID,但我可以控制它并设置他们的Ids手册吗?

现在初始化看起来像:

        if (!WebSecurity.UserExists("elena"))
            WebSecurity.CreateUserAndAccount("elena", "password");
Run Code Online (Sandbox Code Playgroud)

Eri*_*sch 10

是的,您可以通过传入要设置的属性来执行此操作.例如:

WebSecurity.CreateUserAndAccount("elena", "password", new { UserId = 1 });
Run Code Online (Sandbox Code Playgroud)

当然,您需要确保UserId列未设置为标识列,并且您必须更改UsersContext架构以添加它.

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int UserId { get; set; }
    public string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)