2016-12-28 52 views
0

我想從代碼級別插入記錄到asp.net身份表結構如下。插入用戶在asp.net身份表中使用種子

public class ProjectName_DbInitalize : DropCreateDatabaseIfModelChanges<ProjectName_DBContext> 
{ 
    protected override void Seed(ProjectName_DBContext context) 
    { 

     context.AspNetUsers.Add 
     (
       new AspNetUser 
       { 
        Email = "[email protected]", 
        EmailConfirmed = true, 
        PasswordHash = "123456", 
        SecurityStamp = "Author 1st Bio", 
        PhoneNumber = "0734248148", 
        PhoneNumberConfirmed = true, 
        LockoutEndDateUtc = null, 
        LockoutEnabled = true, 
        AccessFailedCount = 0, 
        UserName = "", 
        FirstName = "", 
        LastName = "", 
        CreatedBy = "", 
        CreatedDate = null, 
        UpdatedBy = null, 
        UpdatedDate = null 

       } 
     ); 

     context.SaveChanges(); 

     base.Seed(context); 

    } 

} 

在單元測試項目中,我將像下面

public class IdentityRepositoryTest 
{ 
    IdentityRepository identitityRepo; 

    // initialize the test class 
    [TestInitialize] 
    public void TestSetup() 
    { 
     ProjectName_DbInitalize db = new ProjectName_DbInitalize(); 
     System.Data.Entity.Database.SetInitializer(db); 
     identitityRepo = new IdentityRepository(); 
    }  
} 

但是當我運行它,它不插入值AspNet.Users表或任何其他表,我怎麼能做到這一點正確

回答

0

試着不添加PasswordHash(我認爲它是爲你做的......因爲它需要做哈希和鹽它),然後嘗試把一個非空的用戶名(mayb設置它等於電子郵件)。

最後嘗試把它放在一個嘗試捕捉這樣你就可以對其進行調試和讀取準確錯誤是這樣的

公共類ProjectName_DbInitalize:DropCreateDatabaseIfModelChanges { 保護覆蓋無效的種子(ProjectName_DBContext上下文) {

 try 
     { 
      context.AspNetUsers.Add 
        (
         new AspNetUser 
         { 
          Email = "[email protected]", 
          EmailConfirmed = true, 
          PasswordHash = "123456", 
          SecurityStamp = "Author 1st Bio", 
          PhoneNumber = "0734248148", 
          PhoneNumberConfirmed = true, 
          LockoutEndDateUtc = null, 
          LockoutEnabled = true, 
          AccessFailedCount = 0, 
          UserName = "", 
          FirstName = "", 
          LastName = "", 
          CreatedBy = "", 
          CreatedDate = null, 
          UpdatedBy = null, 
          UpdatedDate = null 

         } 
        ); 

      context.SaveChanges(); 

      base.Seed(context); 

      //context.SaveChanges(); 


     } 
     catch (Exception ex) 
     { 

      throw ex; 
     } 
    } 

}