我使用以下LINQ表達式過濾列表:Lambda表達式,並加入
var query =
follows
.Where(i => i.EUser.EProviders != null)
.Join(
ids,
i => i.EUser.EProviders.Where(j => j.ProviderType == EProvider.EnumProviderType.Facebook).First().Ip,
j => j.Ip,
(i, j) => i);
的查詢工作,但我得到了第一個()的關鍵字的一個問題,因爲我只是比較第一個元素,當我需要比較任何類型的臉譜提供者。我試圖得到所有以下至少有一個Facebook類型的提供者,而提供者ID包含在ID中。
我認爲這是工作,但我不滿意查詢。看起來不對我。
follows
.Where(i => i.EUser.EProviders != null)
.Where(i => i.EUser.EProviders.Where(j => j.ProviderType == EProvider.EnumProviderType.Facebook && ids.Select(k => k.Ip).Contains(j.Ip)).Count() > 0);
你能解釋一下你想用這個查詢得到什麼結果嗎? – Ryan 2012-04-12 23:02:24