sql >> Base de Datos >  >> RDS >> PostgreSQL

Error en LINQ (la columna no existe) al usar Entity Framework

Puede suceder si tiene propiedades de navegación inversa en contractors clase, así:

public partial class contractors
{
    //...

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

En este caso, EF no sabrá cuál pertenece a qué propiedad de navegación en la clase a y suponga cuatro relaciones en lugar de dos (o tres en lugar de dos si solo tiene una colección). Esas relaciones adicionales tendrán una clave externa separada y una de ellas es contractors_id . Si eso no existe en la base de datos, obtendrá una excepción.

Puede solucionar el problema aplicando InverseProperty atributo en la clase a :

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