我正在尝试在LINQ语句中构建动态WHERE子句,但是遇到了一些问题。
目前,我有以下内容:-
string[] types = typeId[0].Split(','); //contains string array like {"1,2,3"}
marketing = marketing.Where( type => types.Contains(type.TypeID)).ToList();
有人可以告诉我实现此目的的正确语法吗?
谢谢
答案 0 :(得分:1)
从您的错误消息中,type.TypeID
是int
。
因此,您基本上有2个选择:
选项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();