用户trimstart在实体框架中查询 [英] user trimstart in entity framework query

查看:125
本文介绍了用户trimstart在实体框架中查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是我的查询:

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

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

解决方案

尝试使用 SqlFunctions.PatIndex 为此。我测试了一个类似于下面的查询,值为000123000Oneabcde,并正确选择值为123Oneabcde

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


How can I use trimstart so entity framework will understand what to do?

Here is my query:

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

How can I make this query work without the AsEnumerable (there are a lot of workers in company 8)?

解决方案

Try using SqlFunctions.PatIndex for this. I tested a query similar to the one below with the values "000123", "000One", "abcde" and it correctly selected rows with the values "123", "One", and "abcde".

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

这篇关于用户trimstart在实体框架中查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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