【发布时间】:2019-06-12 05:52:44
【问题描述】:
我正在尝试将 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表中
【问题讨论】: