0

我有一个自定义SimpleMembershipProvider,我已经定义了所有SimpleMembershipProvider需要的表,比如 pages_Membership:

[Table("webpages_Membership")]
public class Membership
{
    public Membership()
    {
        Roles = new List<Role>();
        OAuthMemberships = new List<OAuthMembership>();
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int UserId { get; set; }
    public DateTime? CreateDate { get; set; }
    [StringLength(128)]
    public string ConfirmationToken { get; set; }
    public bool? IsConfirmed { get; set; }
    public DateTime? LastPasswordFailureDate { get; set; }
    public int PasswordFailuresSinceLastSuccess { get; set; }
    [Required, StringLength(128)]
    public string Password { get; set; }
    public DateTime? PasswordChangedDate { get; set; }
    [Required, StringLength(128)]
    public string PasswordSalt { get; set; }
    [StringLength(128)]
    public string PasswordVerificationToken { get; set; }
    public DateTime? PasswordVerificationTokenExpirationDate { get; set; }

    public ICollection<Role> Roles { get; set; }

    [ForeignKey("UserId")]
    public ICollection<OAuthMembership> OAuthMemberships { get; set; }
}

但是,如何Seed()在启用时迁移创建的 configuration.cs 文件中的方法内的该表中添加一条记录?

4

1 回答 1

1

假设您在 web.config 中正确配置了自定义成员资格提供程序,您应该能够通过执行此操作在 Seed 方法中添加记录。

 var membership = (MyMembershipNamespace.SimpleMembershipProvider)Membership.Provider;
 membership.CreateUserAndAccount("test", "password");
于 2013-05-15T15:15:59.997 回答