Я пытаюсь сохранить User.Identity.GetUserName () в базе данных, и я установил связь между классом RequirementData и ApplicationUser, и таблицы базы данных были созданы успешно, но при сохранении User.Identity.GetUserName ( ) в таблице RequirementData указано следующее сообщение об ошибке:
Оператор INSERT вступил в конфликт с ограничением FOREIGN KEY "FK_dbo.RequirementData_dbo.AspNetUsers_ApplicationUserId". Конфликт произошел в базе данных «RequirementWorld», таблице «dbo.AspNetUsers», столбце «Id».
Заявление было прекращено.
Вот контроллер MVC
public ActionResult Create()
{
ViewBag.TeamId = new SelectList(db.TeamNames, "TeamId", "TeamName");
ViewBag.TechId = new SelectList(db.Teches, "TechId", "TechName");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "jobCode,positionName,skills,requiredSize,experience,jobDescription,uploadedBy,TechId,TeamId")] RequirementData requirementData)
{
var ApplicationUserId = UserManager.FindByEmail(User.Identity.GetUserName());
requirementData.Id = ApplicationUserId.ToString();
if (ModelState.IsValid)
{
db.RequirementDatas.Add(requirementData);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.TeamId = new SelectList(db.TeamNames, "TeamId", "TeamName", requirementData.TeamId);
ViewBag.TechId = new SelectList(db.Teches, "TechId", "TechName", requirementData.TechId);
return View(requirementData);
}
Я хочу сохранить текущее имя пользователя в таблице RequirementDatas, которая создала запись после входа в систему