Asp.net-Mvc
SimpleMemership CreateUserAndAccount 自定義
我正在嘗試向
UserProfile模型中的類添加一個新屬性public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email Address")] public string Email { get; set; } \\this is the new property public virtual IList<Game> Games { get; set; } }我正在嘗試將它添加到我的
Configurations.cs文件中的種子方法中private void SeedMembership() { WebSecurity.InitializeDatabaseConnection("MafiaContext", "UserProfile", "UserId", "UserName", autoCreateTables: true); var roles = (SimpleRoleProvider)Roles.Provider; var membership = (SimpleMembershipProvider)Membership.Provider; if (!roles.RoleExists("Administrator")) { roles.CreateRole("Administrator"); } if (membership.GetUser("drew", false) == null) { membership.CreateUserAndAccount( "drew", "password", false, new { Email = "myemail@gmail.com" }); \\ this line errors } if (!roles.GetRolesForUser("drew").Contains("Administrator")) { roles.AddUsersToRoles(new[] { "drew" }, new[] { "Administrator" }); } }但是,我收到一個錯誤:
Error 2 Argument 4: cannot convert from 'AnonymousType#1' to 'System.Collections.Generic.IDictionary<string,object>' C:\Code\Mafia\Mafia.EF\Migrations\Configuration.cs 65 21 Mafia.EF但我什麼都想不出來……我的
WebMatrix.WebData版本是v4.0.30319有什麼想法嗎?
試試這樣:
private void SeedMembership() { WebSecurity.InitializeDatabaseConnection( "MafiaContext", "UserProfile", "UserId", "UserName", autoCreateTables: true ); if (!Roles.RoleExists("Administrator")) { Roles.CreateRole("Administrator"); } if (!WebSecurity.UserExists("drew")) { WebSecurity.CreateUserAndAccount( "drew", "password", new { Email = "myemail@gmail.com" }, false ); } if (!Roles.GetRolesForUser("drew").Contains("Administrator")) { Roles.AddUsersToRoles(new[] { "drew" }, new[] { "Administrator" }); } }這是
nice tutorial關於您可能會考慮使用的 SimpleMembershipProvider 的內容。