如何在Linq to Entities扩展方法中将此查询作为where子句编写?

时间:2013-06-28 22:39:27

标签: linq-to-entities extension-methods where-clause

给出以下SQL语句:

Select * From Customers Where ID LIKE ('%160%')

如果ID是int字段,我如何使用Linq to Entities扩展方法来执行此操作?

对于字符串字段,我可以做这样的事情......

filterExpression = "ID.Contains(\"160\")";
IQueryable<Customer> c = context.Customers.Where(filterExpression);

当我尝试这个时,我收到错误:

No applicable method 'Contains' exists in type 'Int32'

我一直在寻找一个小时的工作,如何让这个没有运气。

编辑:修改以使代码更具可读性。

1 个答案:

答案 0 :(得分:1)

无法测试atm,但我试试这个;

var myExpression = x => SqlFunctions.StringConvert((double)x.ID).Contains("160");
IQueryable<Customer> c = context.Customers.Where(myExpression);