[英]Creates copy of existing record with foreign key association
我有以下型號
public class ProfessionalEmploymentRecord
{
public int ID { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public virtual Role Role { get; set; }
public virtual Program Program { get; set; }
}
public class Program
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Role
{
public int ID { get; set; }
public string Name { get; set; }
}
public ActionResult Add(ProfessionalEmploymentRecord p)
{
if (ModelState.IsValid)
{
//Check which program is being considered
p.Program.ID = GetProgramId(p.Program.Name);
p.Role.ID = GetProfessionalId(p.Role.Name);
db.ProfessionalEmploymentRecords.Add(p);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(p);
}
當使用Add()時,我最終得到兩個記錄(差異是主鍵ID),分別在Roles和Progams表中具有相同的Role.Name和Program.Name。
我的目標是讓ProfessionalEmploymentRecord p與一個(唯一)程序和每個記錄p的角色相關聯。
編輯:
一個例子
如果我讓ProfessionalEmploymentRecord p為p.Role.Name =“ Analyst” p.Program.Name =“” A“
然后,Add()函數在ProfessionalEmploymentRecords中創建一個新記錄,其中包含RoleId = 2和ProgramId = 2
在角色和程序表我結束了角色ID名稱1名分析員2分析員
程序ID名稱1 A 2 A
為了簡化問題,為什么Add函數會在其他兩個表中創建條目?
在“程序和角色”類中添加ProfessionalEmploymentRecord的引用。
public class Program
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ProfessionalEmploymentRecord ProfessionalEmploymentRecord { get; set; }
}
public class Role
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ProfessionalEmploymentRecord ProfessionalEmploymentRecord { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.