Я пытаюсь вставить запись в 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
таблицу или любую другую таблицу, как я могу сделать это правильно
Постарайтесь не добавлять PasswordHash (я думаю, это сделать это для вас ..потому что это нужно сделать хэш и соль его), а затем попытаться поставить не пустое имя пользователя (mayb установить его равным электронной почте).
Наконец, попробуйте поместить его в try catch, чтобы вы могли отладить его и прочитать точно ошибку что-то вроде этого
открытый класс ProjectName_DbInitalize : DropCreateDatabaseIfModelChanges
{
защищенное переопределение Void Seed(контекст ProjectName_DBContext)
{