【问题标题】:insert user using seed in asp.net identity tables在 asp.net 身份表中使用种子插入用户
【发布时间】:2016-12-28 08:05:31
【问题描述】:

我正在尝试从代码级别向 asp.net 身份表结构插入一条记录,如下所示。

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

        context.AspNetUsers.Add
        (
              new AspNetUser
              {
                  Email = "kez@gmail.com",
                  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 表或任何其他表中,我该如何正确地做到这一点

【问题讨论】:

    标签: c# asp.net asp.net-mvc unit-testing


    【解决方案1】:

    尝试不添加 PasswordHash(我认为它会为您完成 ..因为它需要进行哈希和加盐),然后尝试输入一个非空的用户名(可以将其设置为电子邮件)。

    最后尝试把它放在一个 try catch 中,这样你就可以调试它并读取类似这样的确切错误

    公共类 ProjectName_DbInitalize : DropCreateDatabaseIfModelChanges { 受保护的覆盖无效种子(ProjectName_DBContext 上下文) {

            try
            {
                context.AspNetUsers.Add
                       (
                             new AspNetUser
                             {
                                 Email = "kez@gmail.com",
                                 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;
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2016-05-05
      • 2016-03-19
      • 2013-11-13
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      相关资源
      最近更新 更多