所以我有一个控制器,只更新数据库条目中的2个字段,但是这个条目链接到另外两个表,我知道这是一个不好的解释,但有时它有效,有时它没有,我无法确定有什么不同提交之间没有代码更改。
控制器
GroupFitnessSession session = unitOfWork.GroupFitnessSessionRepository.GetById(item.GroupFitnessSessionId);
session.IsConfirmed = true;
session.Attendees = item.Attendees;
unitOfWork.GroupFitnessSessionRepository.Update(session);
模型中还有其他字段我已经遗漏了,但它们中没有与这些字母相同的名称或其他字段
模型
public class GroupFitnessSession
{
public string GroupFitnessSessionId { get; set; }
[Required]
public virtual Trainer Trainer { get; set; }
[Required]
public virtual Location Location { get; set; }
}
public class Location
{
public string LocationId { get; set; }
public Location()
{
GroupFitnessSession = new HashSet<GroupFitnessSession>();
}
public ICollection<GroupFitnessSession> GroupFitnessSession { get; set; }
}
public class Trainer
{
public Trainer()
{
GroupFitness = new HashSet<GroupFitnessSession>();
}
public ICollection<GroupFitnessSession> GroupFitness { get; set; }
如果您需要任何其他信息,请随时提出 这让我感到困惑,任何建议都会被接受
正如您可以看到EF自动生成的属性以及我正在尝试更新的属性
答案 0 :(得分:0)
如果您将控制器的第一行更改为:
,这将有效GroupFitnessSession session = unitOfWork.GroupFitnessSessionRepository.GetById(item.GroupFitnessSessionId).Include(s => s.Trainer).Include(s => s.Location);