PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Errore in LINQ (la colonna non esiste) quando si usa Entity Framework

Può succedere se hai proprietà di navigazione inversa in contractors classe, in questo modo:

public partial class contractors
{
    //...

    public virtual ICollection<a> aCollection { get; set; }
    public virtual ICollection<a> aCollection1 { get; set; }
}

In questo caso EF non saprà quale appartiene a quale proprietà di navigazione nella classe a e supponi quattro relazioni invece di due (o tre invece di due se hai una sola collezione). Queste relazioni aggiuntive avranno una chiave esterna separata e una di queste è contractors_id . Se non esiste nel database, ottieni un'eccezione.

Puoi risolvere il problema applicando InverseProperty attributo nella classe a :

[InverseProperty("aCollection")]
public virtual contractors contractors { get; set; }
[InverseProperty("aCollection1")]
public virtual contractors contractors1 { get; set; }