我有一個列表來搜索一個表,LINQ包含但不
List<long> searchListIds = new List<long>();
searchListIds.Add(1);
searchListIds.Add(2);
List<long> searchListFieldValues = new List<long>();
searchListFieldValues.Add(100);
searchListFieldValues.Add(50);
和我的查詢是:
var adsWithRelevantadFields =
from adField in cwContext.tblAdFields
group adField by adField.adId into adAdFields
where searchListIds.All(i => adAdFields.Select(co => co.listId).Contains(i))
&& searchListFieldValues.All(i => adAdFields.Select(co => co.listFieldValue).Contains(i))
select adAdFields.Key;
一切正常,但現在我需要得到滿足的所有記錄小於searchListFieldValues。我的意思是:
有(listId == 1)&(listFieldValue <100)
和(listId == 2)&(listFieldValue <50)
所有的AdID
包含部分必須更改爲類似包含少
例如:
cwContext.tblAdFields:
id 1 2 3 4 5 6 7
adId 1 2 1 2 3 3 3
listId 1 1 2 2 1 2 3
listfieldValue 100 100 50 50 100 49 10
現在,如果我要得到我的(listId == 1)&(listFieldValue ==100) AND (listId == 2)&(listFieldValue ==50)
代碼工作,並返回ID廣告ID:1,2
,但我不能讓
所有的AdID有(listId == 1)&(listFieldValue ==100) AND (listId == 2)&(listFieldValue <50)
它必須返回3
所以這兩個列表的大小總是相同的? –
@Anatolii Gabuza是的,我聽說過concat,但我無法使用,現在的任何問題是包含更少 –
您可以舉一個輸入數據(cwContext.tblAdFields)的例子和您期望從該數據的結果(adsWithRelevantadFields )? – mrzli