У меня есть стандартная парадигма социальных сетей, в которой пользователь имеет коллекцию друзей, которые также являются пользователями.Entity Framework Многие из многих присоединяются к запросу
Я использую Entity Framwork Code First, и мой друг отношение определяется следующим образом:
modelBuilder.Entity<User>()
.HasMany(u => u.Friends)
.WithMany()
.Map(m =>
{
m.ToTable("Friendships");
m.MapLeftKey("UserId");
m.MapRightKey("FriendId");
});
То, что я хочу сделать, это найти мои пользователь таблицу возвращающейся все пользователь с индикатором того, каждый возвращается пользователь дружит с текущим пользователем. Чтобы быть ясным, я хочу вернуть пользователей, которые являются друзьями и пользователями, которые не являются друзьями, но также с логическим указанием, является ли каждый пользователь другом. Я знаю, как это сделать в TSQL - это основное левое внешнее соединение.
Я видел примеры того, как сделать левое соединение в LINQ, но все примеры, которые я видел, соединяются с отображенным типом. В столбце «Мои друзья» не указан тип Mapped.
Как это сделать в EntityFramework?