entity framework查询中的user trimstart

我怎样才能使用trimstart所以entity framework会理解该怎么做?

这是我的查询:

string number="123"; Workers.Where(x => x.CompanyId == 8).Where(x => x.Number.TrimStart('0') == number); 

如何在没有AsEnumerable的情况下使这个查询工作(公司8中有很多工人)?

尝试使用SqlFunctions.PatIndex 。 我使用值"000123""000One""abcde"测试了类似于下面的查询,并且正确选择了值为"123""One""abcde"

 Workers.Where(x => x.CompanyId == 8 && x.Number.Substring(SqlFunctions.PatIndex("%[^0]%", x.Number).Value - 1) == number); 

这是因为SQL中的trim函数只能修剪空格,因此EF支持TrimStart方法,但只支持没有参数。

首先,您的要求应引发有关提高数据库数据质量的讨论! 您的数据无法提供有效支持此类查询的质量。