Как мне создать свой запрос, чтобы в результате получился выходной 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'~'
Это не то, что я хочу. Я хочу иметь возможность использовать символ «процента», как я это делаю непосредственно в БД.