使用&QUOT查询数据;包含"关键字动态的LINQ在C# [英] Query data using "Contains" keyword in Dynamic Linq in C#

查看:172
本文介绍了使用&QUOT查询数据;包含"关键字动态的LINQ在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在执行具有查询面临的一些问题包含在C#中的动态LINQ关键字。我提示以下错误:



没有属性或字段类型存在的Int32



我的代码如下:



如果我的用户在'包含'的数据类型的字符串字段的关键字,然后正常工作,如下

 的String [] = CandidateNamesArray新的字符串[] {拉姆,Venkat在,迈克尔} 
VAR dynamicLinqQuery = Candidates.Where(CandidateName.Contains(@ 0 ),CandidateNamesArray);




  • 正常工作



但是,如果我使用'包含'为int类型的字段的关键字,然后抛出异常,如下

  INT [] = CandidateIdsArray新INT [] {4,78,101} 
VAR dynamicLinqQuery = Candidates.Where(CandidateId.Contains(@ 0),CandidateIdsArray);




运行时异常 - 没有适用的方法'包含'存在类型
'的Int32'。




此外,在另一种方式试图如下

  INT [] = CandidateIdsArray新INT [] {4,78,101} 
VAR dynamicLinqQuery = Candidates.Where(@ 0.Contains(CandidateId),CandidateIdsArray) ;




运行时异常 - 无属性或字段'CandidateId'存在类型
'的Int32'。




我已经花了近2天解决上述问题,但没能成功。可能任何一个请帮我解决了上述问题,...在此先感谢


解决方案

您可以使用您的数组转换为字符串,然后进行包含于()转换回INT


I am facing some problem while executing the query having 'Contains' keyword in Dynamic linq in C#. I am getting the below error

No property or field exists in type 'Int32'

My code is as below:

If I user the 'Contains' keyword for datatype string field, then it works fine as below

string[] CandidateNamesArray = new string[]{"Ram", "Venkat", "Micheal"}
var dynamicLinqQuery = Candidates.Where("CandidateName.Contains(@0)", CandidateNamesArray );

  • works fine

But if I use the 'Contains' keyword for datatype int field, then it throws exception as below

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

Runtime Exception - "No applicable method 'Contains' exists in type 'Int32'"

Also tried in another way as below

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

Runtime Exception - "No property or field 'CandidateId' exists in type 'Int32'"

I have spend almost 2 days to resolve the above problem but not able to succeed. Could any one please help me out in resolving the above issue...Thanks in Advance

解决方案

You can use convert your array to string, then make Contains() than convert it back to int

这篇关于使用&QUOT查询数据;包含"关键字动态的LINQ在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆