1

我有一个绑定到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。

4

2 回答 2

2

我认为你应该检查小于 coz 例如如果你从 0 数到 100 并检查它是否包含 12 那么是的它包含 12 因为

12 < 100
于 2012-10-27T05:48:27.487 回答
1

尝试使用SqlFunctions.StringConvert

string securityId = Convert.ToString(filterColumn.Value, CultureInfo.CurrentCulture);    
queryResults=queryResults
      .Where(gd=>SqlFunctions.StringConvert((double)gd.SecuritiesId).Contains(securityId));

PS:SqlFunctions.StringConvertint 没有重载,这就是为什么转换为 double 的原因。

于 2012-10-27T05:38:58.813 回答