Sto implementando una funzionalità che consente agli utenti di seguirsi l'un l'altro. devo tabelle del database:Due stessi tipi di classe nel numero di classe di entità entità
User{UserId, FirstName, LastName etc.}
Followings{FollowerUserId, FollowingUserId, CreatedOnDate etc.}
così ho aggiunto classe EF:
public class Follow
{
[Key, Column(Order = 1)]
public Guid FollowerUserId { get; set; }
[Key, Column(Order = 2)]
public Guid FollowUserId { get; set; }
public DateTime CreatedOnDate { get; set; }
public virtual User Follower { get; set; }
public virtual User Following { get; set; }
}
Le ultime due proprietà virtuali problema couse. Quando chiamo:
var model = con.Follows.Where(x => x.FollowerUserId == uid);
vengo seguente eccezione:
Invalid column name 'Following_UserId'.
Il problema è causato probabilmente a causa di due oggetti Utente in una classe. Qualche idea su come risolvere questo?
UPDATE
public class User
{
public Guid UserId { get; set; }
...
public virtual ICollection<Follow> Following { get; set; }
public virtual ICollection<Follow> Followers { get; set; }
}
non mi sembra giusto per me di mettere sia il userID e la proprietà di navigazione, dovresti metterne solo uno, altrimenti EF non può stabilire la connessione tra loro – Clueless
Puoi spiegare meglio non so come risolvere questo problema? – 1110