PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Fehler in LINQ (Spalte existiert nicht) bei Verwendung von Entity Framework

Dies kann passieren, wenn Sie in contractors umgekehrte Navigationseigenschaften haben Klasse, etwa so:

public partial class contractors
{
    //...

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

In diesem Fall weiß EF nicht, welche zu welcher Navigationseigenschaft in der Klasse a gehört und nehmen Sie vier statt zwei Beziehungen an (oder drei statt zwei, wenn Sie nur eine Sammlung haben). Diese zusätzlichen Beziehungen haben einen separaten Fremdschlüssel und einer davon ist contractors_id . Wenn dies nicht in der Datenbank vorhanden ist, erhalten Sie eine Ausnahme.

Sie können das Problem beheben, indem Sie die InverseProperty anwenden Attribut in der Klasse a :

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