0

我有一個自定義SimpleMembershipProvider,我已經定義的SimpleMembershipProvider要求所有表,像webpages_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文件?

回答

1

假設您在web.config中正確配置了自定義成員資格提供程序,您應該可以通過執行此操作在Seed方法中添加記錄。

var membership = (MyMembershipNamespace.SimpleMembershipProvider)Membership.Provider; 
membership.CreateUserAndAccount("test", "password"); 
+0

嗨,這似乎工作,但如何在數據庫中填寫PasswordVerificationToken? – Yustme

+0

只有當您調用用於密碼重置過程的GeneratePasswordResetToken [http://msdn.microsoft.com/en-us/library/gg548086(v=vs.111).aspx]時纔會填寫PasswordVerificationToken。 –

相關問題