User
誰FacebookFriend
が誰で、現在のユーザーがまだフォローしていないのか( )のリストを取得しようとしていますUserFollower
。これは私が使用しようとしているクエリですが、現在のユーザーがすでにフォローしているユーザーを引き続き取得しています。次に何をすべきかわからない。
var fb = db.Members
.Include(i => i.User)
.Where(x => db.FacebookFriends.Where(y => y.UserID == CurrentUserID)
.Select(f => f.FacebookID)
.Contains(x.ProviderUserId)
&& !db.UserFollowers
.Select(f => f.FollowerID)
.Contains(x.UserID)
).Take(6).ToList();
FacebookID
と同じProviderUserId
FollowerID
ですUserID
これがモデルです。
public class FacebookFriend
{
public int ID { get; set; }
public int UserID { get; set; }
public string FacebookID { set; get; }
public string Name { set; get; }
public User User { get; set; }
}
public class UserFollower
{
public int ID { get; set; }
public int UserID { get; set; }
public int FollowerID { get; set; }
[ForeignKey("UserID")]
public User User { get; set; }
[ForeignKey("FollowerID")]
public User Follower { get; set; }
}
Member
テーブル
[Table("webpages_OAuthMembership")]
public class OAuthMembership
{
[Key, Column(Order = 0), StringLength(30)]
public string Provider { get; set; }
[Key, Column(Order = 1), StringLength(100)]
public string ProviderUserId { get; set; }
public int UserID { get; set; }
//public User User { get; set; }
[Column("UserID"), InverseProperty("OAuthMemberships")]
public User User { get; set; }
}