我需要你的帮助,
我不知道从哪里开始,但我正在使用asp.net mvc和wcf技术进行招聘管理应用程序,我有一个管理部分的优惠,开始我有多对多的关系在要约和候选人表之间。
现在我希望当候选人选择适合他的报价时,当他点击申请按钮时,报价的ID和候选人的ID会在CandidateOffre关联表中注册。
这就是我所做的,谢谢你告诉我我错过了什么,以便插入正确完成,
服务器端(wcf)
public CandidatDTO CreateCandidat(CandidatDTO c)
{
CandidatEmploi candidatEmp = new CandidatEmploi();
CSRMappers.MapCandidatDTOToEntity(c, candidatEmp);
if (c.OffreEmploi != null && c.OffreEmploi.Any())
{
foreach (var f in c.OffreEmploi)
{
if (f.IDOffre == 0)
{
OffreEmploi of = new OffreEmploi();
CSRMappers.MapOffreDTOToEntity(f, of);
candidatEmp.OffreEmploi.Add(of);
}
else
{
//look for offer
var of = CRE.OffreEmploi.Find(f.IDOffre);
if (of != null)
candidatEmp.OffreEmploi.Add(of);
}
}
}
CRE.CandidatEmploi.Add(candidatEmp);
CRE.SaveChanges();
c.IDCandidat = candidatEmp.IDCandidat;
return c;
}
客户端(MVC)
[HttpGet]
public ActionResult PostE(int id)
{
var candidat = new CSRServiceReference.CandidatDTO();
candidat.OffreEmploi = new List<OffreDTO>();
if (id > 0)
{
var offre = CREClient.GetOffre(id);
if(offre != null)
{
candidat.OffreEmploi.Add(offre);
}
}
candidat.Experiences = new List<CSRServiceReference.ExpProDTO>();
candidat.Formations = new List<CSRServiceReference.FormationDTO>();
candidat.ConnInfo = new List<CSRServiceReference.ConnaissInfoDTO>();
candidat.ConnLing = new List<CSRServiceReference.connaissLingDTO>();
return View(candidat);
}
[HttpPost, ActionName("PostE")]
public ActionResult PostEmp(CSRServiceReference.CandidatDTO candidat)
{
if (ModelState.IsValid)
{
candidat.StatutCandidat = "En attente";
var newC = CREClient.CreateCandidat(candidat);
return RedirectToAction("EditCandidat", "Home", new { id = newC.IDCandidat });
}
return View(candidat);
}
但遗憾的是,关联表仍为空,
我不知道问题究竟在哪里:/
感谢您回答我。