Entity Framework v4.1 LIKE

Как мне создать свой запрос, чтобы в результате получился выходной SQL-запрос, например:

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE '%a%bc'

ИЛИ

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE 'a%b%c'

ИЛИ

SELECT
[viewRegisters].[Id] AS [IdRegister]
WHERE Name LIKE 'a%b%c%'

Я использую .Net Framework 4.0, Entity Framework v4.1 и C #.

EF v4.1 преобразует этот тип запросов linq из:

((IQueryable<T>)Data).Where(z => z.Field.Contains("a%b%c%"));

в:

SELECT
[viewRegisters].[Id] AS [Id]
WHERE Name LIKE N'a~%b~%c~%' ESCAPE N'~'

Это не то, что я хочу. Я хочу иметь возможность использовать символ «процента», как я это делаю непосредственно в БД.

8
задан Gil 1 June 2011 в 13:49
поделиться