C# linq EF数组.All(值)
我有这张桌子:C# linq EF数组.All(值),c#,linq,entity-framework,C#,Linq,Entity Framework,我有这张桌子: tblAdFields id (bigint) adId (bigint) listId (bigint) listFieldValue (bigint) var qAd = from adFieldVal in cwContext.tblAdFields group adField by adField.adId into adAdFields where lstFldVal.All(i => adAdFields.Select(co => co.f
tblAdFields
id (bigint)
adId (bigint)
listId (bigint)
listFieldValue (bigint)
var qAd =
from adFieldVal in cwContext.tblAdFields
group adField by adField.adId into adAdFields
where lstFldVal.All(i => adAdFields.Select(co => co.fieldId).Contains(i))
现在之前
在此之前,我有一份清单:
List<long> lstFldVal = new List<long>();
lstFldVal.Add(100);
lstFldVal.Add(120);
lstFldVal.Add(150);
lstFldVal.Add(170);
但现在
但是现在我需要用数组或类列表检查我的表:
这是我的新lstFldValNew
var lstFldValNew= new int?[][] ////listId, rangeTypeId(equal, more, less, between), from, to
{
new int?[] { 1, 1, 100, null },
new int?[] { 2, 2, 125, null },
new int?[] { 3, 3, null, 175 },
new int?[] { 4, 4, 125, 175 }
};
我想知道哪个adId具有listFieldValue,其中:
1) (listId==1)和&(listFieldValue==100)和
2) (listId==2)和&(listFieldValue>125)
和
3) (listId==3)和&(listFieldValue<175)
和
4) ((listId==4)和&(listFieldValue>130)和&(listFieldValue<180)) 我从where的这一行开始,但得到错误:
其中lstFldValNew.All(i=>adAdFields.Select(co=>co.listId).Contains(i.listId))
没有继续 您的问题是什么?您实际收到的错误类型和消息是什么?事实上,当我使用1D数组时,一切都正常,但当我使用多维数组时,我可以执行。错误:仅使用基本类型('例如int32字符串和guid')Mohammad-请更新您的帖子,说明错误和引发错误的行(如果有)。此外,请使用有关表的所有信息更新帖子,即标记任何可为空的表列,等等。