我在一个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; }
}发布于 2013-12-23 07:45:28
在您的模型中,Cerere没有一个名为Autorizare的属性;但是它有一个名为Actiuni的属性。它的类型是Actiune,而不是Persoana,这是您试图添加到它中的类型。请发布类定义的其余部分。
https://stackoverflow.com/questions/20733774
复制相似问题