Я получаю
"SqlException: невозможно вставить явное значение для столбца идентификаторов в таблице 'Organization', когда для IDENTITY_INSERT установлено значение OFF."
ошибкапри сохранении Organization
, который уже существует в базе данных.Если Organization
является новым, он проходит без каких-либо проблем - Organization
создается в таблице Organization
и ссылка на него правильно создается в таблице ASP NET Users
.
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
Organization currentOrg = new Organization();
var existingOrg = _context.Organization.Where(m => m.OrganizationName == model.Organization);
if (existingOrg.Count() > 0)
{
//currentOrg = _context.Organization.Find(existingOrg.First().Recno);
currentOrg = existingOrg.First();
}
else
{
currentOrg.OrganizationName = model.Organization;
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName
, AddToConstantContact = model.AddToConstantContact,
Organization = currentOrg, CityId = "1" };
var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
_logger.LogInformation("User created a new account with password.");
var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
var callbackUrl = Url.EmailConfirmationLink(user.Id.ToString(), code, Request.Scheme);
await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl);
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation("User created a new account with password.");
return RedirectToLocal(returnUrl);
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}