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

Fejl i LINQ (kolonnen findes ikke) ved brug af Entity Framework

Det kan ske, hvis du har omvendte navigationsegenskaber i contractors klasse, sådan:

public partial class contractors
{
    //...

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

I dette tilfælde vil EF ikke vide, hvilken der hører til hvilken navigationsegenskab i klassen a og antag fire forhold i stedet for to (eller tre i stedet for to, hvis du kun har én samling). Disse yderligere relationer vil have en separat fremmednøgle, og en af ​​dem er contractors_id . Hvis det ikke findes i databasen, får du en undtagelse.

Du kan løse problemet ved at anvende InverseProperty attribut i klassen a :

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



  1. De leverede parametre til Zend_Auth_Adapter_DbTable kunne ikke producere en gyldig sql-sætning

  2. Mysql Hvor ... I ... OG hvor ... i ... bør kun matche på samme indeks

  3. Understøtter Microsoft OLE DB Provider til SQL Server TLS 1.2

  4. C# Oracle Stored Procedure Parameter Order