PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Erreur dans LINQ (la colonne n'existe pas) lors de l'utilisation d'Entity Framework

Cela peut arriver si vous avez des propriétés de navigation inverses dans contractors classe, comme ceci :

public partial class contractors
{
    //...

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

Dans ce cas, EF ne saura pas lequel appartient à quelle propriété de navigation dans la classe a et supposons quatre relations au lieu de deux (ou trois au lieu de deux si vous n'avez qu'une seule collection). Ces relations supplémentaires auront une clé étrangère distincte et l'une d'entre elles est contractors_id . Si cela n'existe pas dans la base de données, vous obtenez une exception.

Vous pouvez résoudre le problème en appliquant le InverseProperty attribut dans la classe a :

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