我在MVC4应用程序中使用EF CodeFirst。 当我尝试运行以下代码时:
public void Autorizare(int cerereId, Persoana persoana)
{
var cerere = _db.Cereri.Find(cerereId);
cerere.Autorizare.Add(persoana);
_db.SaveChanges();
}
我收到这样的错误:
Entities in 'CerereDbContext.Persoane' participate in the 'Actiune_Executanti' relationship. 0 related 'Actiune_Executanti_Source' were found. 1 'Actiune_Executanti_Source' is expected.
我试过Entity(Actiune).State = EntityState.Modified,但没有结果。
我有一个主要的POCO:
public class Cerere
{
public int Id { get; set; }
...
public virtual ICollection<Actiune> Actiuni { get; set; }
...
}
Actiune类看起来像这样
public class Actiune
{
public int Id { get; set; }
public DateTime Data { get; set; }
public String Nume { get; set; }
public virtual ICollection<Persoana> Executanti { get; set; }
public String Stadiu { get; set; }
public String Obs { get; set; }
}
和Persoana:
public class Persoana
{
public int Id { get; set; }
public DateTime Data { get; set; }
public String Nume { get; set; }
}
答案 0 :(得分:0)
从您的模型中,Cerere没有名为Autorizare的财产;但它确实有一个名为Actiuni。哪种类型为Actiune not Persoana,这是您要添加的内容。请发布其他的课程定义。