2016-12-28 54 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; 
     } 
    } 

}