У меня есть база данных по умолчанию asp.net. Я добавил несколько столбцов / свойств для моего пользователя. Один из моих столбцов использует свойство IDENTITY в моем SQL. Когда я иду, чтобы добавить нового пользователя, я получаю эту ошибку.
«Невозможно вставить явное значение для столбца идентификаторов в таблице« AspNetUsers », когда для IDENTITY_INSERT задано значение OFF.»
У меня установлены миграции, и если я добавлю засеянного пользователя, я получу ту же ошибку. Если я использую имя таблицы Set IDENTITY ON, я все еще получаю эту ошибку. Как я могу сделать это с настройкой моей сущности на mvc5?
С этим кодом я не получаю ошибки, просто не теряю значения, поэтому я предполагаю, что близок к решению этой проблемы.,
await context.Database.Connection.OpenAsync();
try
{
context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT AspNetUsers ON");
await context.SaveChangesAsync();
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[AspNetUsers] OFF");
// Assign User Roles HERE for correct _layout
await UserManager.AddToRoleAsync(user.Id, model.UserRoles);
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
TempData["Success="] = "User Created Successfully";
return RedirectToAction("Index", "Home");
}
ViewBag.Roles = new SelectList(context.Roles.Where(r =>
!r.Name.Contains("Admin")).ToList(), "Name", "Name");
AddErrors(result);
}
catch(Exception ex)
{
}
finally
{
await context.SaveChangesAsync();
context.Database.Connection.Close();
}