Linq to Entities LIKE'[A-G]%'查询

时间:2011-12-27 01:46:23

标签: c# linq sql-server-2008 entity-framework

我正在尝试在L2E语句中重新创建一些SQL查询。其中一个问题是:

SELECT TOP 25 itms.[StringValue]
      ,itms.[Name]
      ,itms.[Picture]
  FROM [DB].[dbo].[Items] AS itms
  WHERE itms.StringValue LIKE '[A-G]%'

我有一个开始char(在这种情况下为A)和结束char(G),我需要将StringValue以{char开头的所有项目拉出来1}}在开始和结束之间。

我的第一次尝试是看看L2E是否只是通过这个查询给我:

items = from i in items
        where i.StringValue.StartsWith("[" + refinement.Value + "]")
        select i;

我认为它不起作用,但值得一试。

1 个答案:

答案 0 :(得分:0)

那应该真的有效,所以我不完全确定它为什么没有。值得检查一下refinement.Value来自某个合理的地方而不是直接另一个LINQ to SQL查询。

除此之外,还有SQLMethods类提供了许多在编写LINQ to SQL查询时可用于SQL的工具(请注意,它不适用于LINQ to objects查询)。因此,您可以使用SQLMethods Like方法并为其提供原始的LIKE语句。