是否可以手动修改IQueryable表达式

mat*_*lin 5 c# linq-to-entities iqueryable code-first

我很确定我知道答案是否定的,但作为最后的尝试,我想我会问这里的问题.

我首先使用EF代码以通常的方式查询表

_context.Set<Foo>().Where(f => f.Bar == 999);
Run Code Online (Sandbox Code Playgroud)

这会创建以下表达式(我刚刚写了这个,所以它可能是错的).

{SELECT 
[Extent1].[Test] AS [Test], 
[Extent1].[Test2] AS [Test2], 
FROM [dbo].[Foo] AS [Extent1]
WHERE 19 = [Extent1].[Bar]}
Run Code Online (Sandbox Code Playgroud)

现在,是否可以手动修改此查询以将表名更改为,例如,Foo10?(可能不是)

如果不这样做,是否有人知道我可以先在代码中"延迟绑定"表名的方式?

你可能想知道"为什么肮脏的黑客?" 像往常一样,这是一个遗留问题,数据库存在一些设计问题,无法更改.

提前致谢.

PS.我知道我可以使用Database.SqlQuery但不愿意.