我有一个标准的社交网络范式,其中一个用户有一组也是用户的朋友。
我首先使用实体框架代码,我的朋友关系定义如下:
modelBuilder.Entity<User>()
.HasMany(u => u.Friends)
.WithMany()
.Map(m =>
{
m.ToTable("Friendships");
m.MapLeftKey("UserId");
m.MapRightKey("FriendId");
});
我想要做的是搜索我的用户表返回所有用户,并指示每个返回的用户是否是当前用户的朋友。为了清楚起见,我想返回是朋友的用户和不是朋友的用户,还要返回一个布尔值,指示每个用户是否是朋友。我知道如何在 TSQL 中做到这一点,它是一个基本的左外连接。
我已经看到了如何在 LINQ 中进行左连接的示例,但是我看到的所有示例都连接到映射类型。我的友谊列没有映射类型。
如何在 EntityFramework 中执行此操作?