我有一个文本框绑定到int
。有一个搜索按钮,根据文本框中的文本给出结果。如果文字 12 ,则应显示 12 的所有结果。
string
就是这种情况,我会使用 string.contains 。但我不知道在int
的情况下该怎么做。
我正在使用LINQ过滤掉结果。
int securityId = Convert.int32(filterColumn.Value, CultureInfo.CurrentCulture);
queryResults=queryResults.Where(generaldata=>generaldata.SecuritiesId.Equals(securityId));
但这不起作用。我试过跟着
string securityId = Convert.ToString(filterColumn.Value, CultureInfo.CurrentCulture);
queryResults=queryResults.Where(generaldata=>generaldata.SecuritiesId.ToString().Contains(securityId));
但是得到LINQ异常,我不能在表达式中使用ToString。
答案 0 :(得分:2)
我认为你应该检查少于因为例如,如果你从0到100计数并检查它是否包含12然后是,它包含12因为
12 < 100
答案 1 :(得分:1)
尝试使用SqlFunctions.StringConvert
string securityId = Convert.ToString(filterColumn.Value, CultureInfo.CurrentCulture);
queryResults=queryResults
.Where(gd=>SqlFunctions.StringConvert((double)gd.SecuritiesId).Contains(securityId));
P.S:SqlFunctions.StringConvert
没有int的重载,这就是为什么要完成转换的原因。