小编ven*_*kat的帖子

使用C#中Dynamic Linq中的"Contains"关键字查询数据

我在C#中执行动态linq中包含'Contains'关键字的查询时遇到了一些问题.我收到以下错误

"Int32"类型中不存在任何属性或字段

我的代码如下:

如果我为数据类型字符串字段使用'Contains'关键字,那么它可以正常工作,如下所示

string[] CandidateNamesArray = new string[]{"Ram", "Venkat", "Micheal"}
var dynamicLinqQuery = Candidates.Where("CandidateName.Contains(@0)", CandidateNamesArray );
Run Code Online (Sandbox Code Playgroud)
  • 工作良好

但是如果我对数据类型int字段使用'Contains'关键字,那么它会抛出异常,如下所示

int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = Candidates.Where("CandidateId.Contains(@0)", CandidateIdsArray);
Run Code Online (Sandbox Code Playgroud)

运行时异常 - "类型'Int32'中不存在适用的方法'包含'"

也尝试以下面的另一种方式

int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = Candidates.Where("@0.Contains(CandidateId)", CandidateIdsArray);
Run Code Online (Sandbox Code Playgroud)

运行时异常 - "类型'Int32'中不存在属性或字段'CandidateId'"

我花了将近2天的时间来解决上述问题,但无法成功.任何人都可以帮我解决上述问题......在此先感谢

c# linq dynamic

14
推荐指数
2
解决办法
8591
查看次数

标签 统计

c# ×1

dynamic ×1

linq ×1