这是我的示例代码。
首先,我想返回已保存记录的 Id(机构 ID(
Ownerinfo 方法接受 int institutionId,以便将记录与注册机构相关联。
请协助实现这一目标的最佳方法:
public ActionResult Registration(RegistrationViewModel model)
{
if (model != null)
{
string userId = User.Identity.GetUserId();
if (model.ProviderTypeId == 1) // Private FET College
{
var institution = new Institution
{
ProviderTypeId = model.ProviderTypeId,
RegisteredName = model.RegisteredName,
CIPCNo = model.CIPCNo,
ExamCentreNumber = model.ExamCentreNumber,
DateCreated = DateTime.Now,
CreatedById = Int32.Parse(userId)
};
_db.Institutions.Add(institution);
_db.SaveChanges();
int institutionId = _db.Institutions.Max(item => item.InstitutionId);
}
if (model.ProviderTypeId == 2) // Private AET College
{
var institution = new Institution
{
ProviderTypeId = model.ProviderTypeId,
RegisteredName = model.RegisteredName,
CIPCNo = model.CIPCNo,
ExamCentreNumber = model.ExamCentreNumber,
DateCreated = DateTime.Now,
CreatedById = Int32.Parse(userId)
};
_db.Institutions.Add(institution);
_db.SaveChanges();
int institutionId = _db.Institutions.Max(item => item.InstitutionId);
}
if (model.ProviderTypeId == 3) // Independent School
{
var institution = new Institution
{
ProviderTypeId = model.ProviderTypeId,
RegisteredName = model.RegisteredName,
CIPCNo = model.CIPCNo,
ExamCentreNumber = model.ExamCentreNumber,
RegistrationNo = model.RegistrationNo,
RegisteredWithDbe = model.RegisteredWithDbe,
CreatedById = Int32.Parse(userId),
DateCreated = DateTime.Now
};
_db.Institutions.Add(institution);
_db.SaveChanges();
int institutionId = _db.Institutions.Max(item => item.InstitutionId);
}
return RedirectToAction("Ownerinfo");
}
return View(model);
}
您可以通过int id = institution InstitutionId
获取插入的身份。当您将记录插入表中时,EF 会提供此信息。
获取标识的最大值不是正确的方法。 因为其他应用程序可能同时在表中插入或删除了记录。