相关疑难解决方法(0)

LIKE查询实体框架

可能重复:
如何在Linq中使用SQL Like%?
与实体框架中的运营商一样?

我正在做这样的查询:

    var matches = from m in db.Customers
        where m.Name == key
        select m;
Run Code Online (Sandbox Code Playgroud)

但我不需要m.Name完全等于钥匙.我需要m.Name像关键.

我找不到如何重新创建SQL查询:

    WHERE m.Name LIKE key
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server 2008 R2.

怎么做?

谢谢.

c# wpf sql-server-2008-r2 ef-code-first

37
推荐指数
2
解决办法
8万
查看次数

实体框架v4.1 LIKE

如何构建我的查询以产生输出SQL查询,如:

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE '%a%bc'
Run Code Online (Sandbox Code Playgroud)

要么

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE 'a%b%c'
Run Code Online (Sandbox Code Playgroud)

要么

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE 'a%b%c%'
Run Code Online (Sandbox Code Playgroud)

我正在使用.Net Framework 4.0,Entity Framework v4.1和C#.

EF v4.1转换此类型的linq查询:

((IQueryable<T>)Data).Where(z => z.Field.Contains("a%b%c%"));
Run Code Online (Sandbox Code Playgroud)

成:

SELECT
[viewRegisters].[Id] AS [Id]
WHERE Name LIKE N'a~%b~%c~%' ESCAPE N'~'
Run Code Online (Sandbox Code Playgroud)

那不是我想要的.我希望能够像在DB中直接使用"百分比"符号一样.

c# .net-4.0 entity-framework-4.1

8
推荐指数
2
解决办法
6154
查看次数