Wprowadzam funkcję, która pozwala użytkownikom na podążanie za sobą. Mam tabele bazy danych:Dwa typy tej samej klasy w klasie obiektu encja
User{UserId, FirstName, LastName etc.}
Followings{FollowerUserId, FollowingUserId, CreatedOnDate etc.}
Więc dodałem EF Klasa:
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; }
}
Dwie ostatnie właściwości wirtualne Couse problem. Kiedy zadzwonić:
var model = con.Follows.Where(x => x.FollowerUserId == uid);
dostaję następujący wyjątek:
Invalid column name 'Following_UserId'.
Problem jest prawdopodobnie spowodowany z powodu dwóch obiektów użytkownika w jednej klasie. Każdy pomysł, jak to obejść?
UPDATE
public class User
{
public Guid UserId { get; set; }
...
public virtual ICollection<Follow> Following { get; set; }
public virtual ICollection<Follow> Followers { get; set; }
}
nie wydaje się w porządku dla mnie, aby umieścić zarówno userID i właściwość nawigacji, powinieneś umieścić tylko jeden z nich, w przeciwnym razie EF nie może nawiązać połączenia między nimi – Clueless
Czy możesz wyjaśnić lepiej Nie jestem pewien, jak to naprawić? – 1110