Можно ли вручную изменить выражение IQueryable

Я почти уверен, что знаю, что ответ отрицательный, но в качестве последней попытки я подумал, что я задам вопрос здесь.

Сначала я использую код EF, чтобы запросить таблицу обычным способом

_context.Set<Foo>().Where(f => f.Bar == 999);

, который создает следующее выражение (я только что написал это, поэтому оно может быть неправильным).

{SELECT 
[Extent1].[Test] AS [Test], 
[Extent1].[Test2] AS [Test2], 
FROM [dbo].[Foo] AS [Extent1]
WHERE 19 = [Extent1].[Bar]}

Можно ли вручную изменить этот запрос, чтобы изменить имя таблицы, скажем, на Foo10? (вероятно, нет)

Если это не так, знает ли кто-нибудь способ, как я могу сначала "привязать" имя таблицы в коде?

Вы, вероятно, задаетесь вопросом: "Почему это грязный хак?" Как обычно, это устаревшая проблема с базой данных, которая имеет некоторые проблемы с дизайном и не может быть изменена.

Заранее спасибо.

Пс. Я знаю, что мог бы использовать Database.SqlQuery , но предпочел бы этого не делать.

5
задан Krizz 29 January 2012 в 00:34
поделиться