LINQ 语法错误中的动态 Where 子句
Dynamic Where Clause in LINQ Syntax error
我试图在我的 LINQ 语句中构建一个动态 WHERE 子句,但是我遇到了一些问题。
目前我有以下内容:-
string[] types = typeId[0].Split(','); //contains string array like {"1,2,3"}
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();
谁能告诉我实现此目的的正确语法?
谢谢
根据您的错误消息,type.TypeID
是 int
。
所以你基本上有两个选择:
选项 1:将 types
转换为 int[]
:
int[] types = typeId[0].Split(',').Select(id => int.Parse(id)).ToArray();
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();
选项 2:将 type.TypeID
转换为 string
:
string[] types = typeId[0].Split(',');
marketing = marketing.Where( type => types.Contains(type.TypeID.ToString())).ToList();
我试图在我的 LINQ 语句中构建一个动态 WHERE 子句,但是我遇到了一些问题。
目前我有以下内容:-
string[] types = typeId[0].Split(','); //contains string array like {"1,2,3"}
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();
谁能告诉我实现此目的的正确语法?
谢谢
根据您的错误消息,type.TypeID
是 int
。
所以你基本上有两个选择:
选项 1:将 types
转换为 int[]
:
int[] types = typeId[0].Split(',').Select(id => int.Parse(id)).ToArray();
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();
选项 2:将 type.TypeID
转换为 string
:
string[] types = typeId[0].Split(',');
marketing = marketing.Where( type => types.Contains(type.TypeID.ToString())).ToList();