Estoy bastante seguro de que sé que la respuesta es no, pero como último intento, pensé que haría la pregunta aquí.¿Es posible modificar manualmente una expresión IQueryable?
estoy usando código EF primero para consultar una tabla de la manera habitual
_context.Set<Foo>().Where(f => f.Bar == 999);
que crea la siguiente expresión (que acabo de escribir esto por lo que podría estar equivocado).
{SELECT
[Extent1].[Test] AS [Test],
[Extent1].[Test2] AS [Test2],
FROM [dbo].[Foo] AS [Extent1]
WHERE 19 = [Extent1].[Bar]}
Ahora, ¿es posible modificar manualmente esta consulta para cambiar el nombre de la tabla a, por ejemplo, Foo10? (probablemente no)
Al fallar, ¿alguien sabe de alguna manera que puedo "enlazar tarde" el nombre de la tabla en el código primero?
Probablemente se esté preguntando "¿Por qué el truco sucio?" Como de costumbre, este es un problema heredado con una base de datos que tiene algunos problemas de diseño y no se puede cambiar.
Gracias de antemano.
Ps. Soy consciente de que podría usar Database.SqlQuery
, pero preferiría no hacerlo.
¿por qué no tienes la tabla 'Foo10' en tu modelo también? – BrokenGlass
Porque técnicamente es el mismo modelo distribuido en varias tablas. La tabla en la que están sus datos varía según el parámetro –
@mjmcloug, ¿de qué manera depende? – Krizz