0
我試圖獲得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; }
}
遺憾的是我有很多的閱讀查詢語法困難。 – 2013-03-21 20:19:48