我在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天的时间来解决上述问题,但无法成功.任何人都可以帮我解决上述问题......在此先感谢
我知道你的帖子已经很久了,但我今天遇到了同样的问题.
我outerIt在里面的属性之前解决了它Contains.
在你的例子中:
int[] CandidateIdsArray = new int[]{4, 78, 101}
var dynamicLinqQuery = Candidates.Where("@0.Contains(outerIt.CandidateId)", CandidateIdsArray);
Run Code Online (Sandbox Code Playgroud)
它对我有用,因为DynamicLinq认为CandidateId是数组对象的属性.并且使用outerIt使它理解它指的是外部迭代器,它是候选者.
| 归档时间: |
|
| 查看次数: |
8591 次 |
| 最近记录: |