我很確定我知道答案是否定的,但作爲最後一次嘗試,我想我會在這裏提出問題。是否可以手動修改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? (可能不是)
失敗的是,有沒有人知道一種方式,我可以「先後綁定」代碼中的表名?
您可能想知道「爲什麼骯髒的黑客?」像往常一樣,這是一個遺留問題,數據庫有一些設計問題,無法更改。
在此先感謝。
Ps。我知道我可以使用Database.SqlQuery
但寧願不行。
爲什麼在模型中沒有「Foo10」表? – BrokenGlass 2012-01-28 23:48:39
因爲從技術上講,它的模型分佈在多個表中。您的數據所在的表格根據參數 – 2012-01-28 23:50:32
@mjmcloug而有所不同,它是如何依賴的? – Krizz 2012-01-29 00:23:19