2009-11-10 64 views
1

在LINQ to Entities中,我將存儲過程的結果集映射到實體。Linq to Enities:存儲過程調用後結果集未得到更新

在存儲過程中,我執行一些更新語句並通過運行SELECT查詢並將結果集映射到實體來返回結果集。

數據庫行得到正確更新,但返回的實體未反映這些更改。相反,更新之前的數據正在返回?

有什麼建議嗎?

謝謝。 Abe

回答

1

上述實體是否已經緩存在上下文中? (即,您是否已經查詢過它們?)

如果是這樣,身份管理器將始終讓您回到原始對象(而不是在同一上下文中創建具有相同身份的新對象)。因此,對於已經被其他查詢讀取的數據,只考慮身份/主鍵字段。

+0

我相信如此。我查詢一個對象,然後調用一個對該對象執行更新的存儲過程。 有什麼辦法強制身份管理器在存儲過程被調用後重新加載數據?基本上,我需要從存儲過程返回的對象來反映更新。 謝謝! – Abe 2009-11-10 05:12:51

+0

我不知道,對不起。 – 2009-11-10 05:15:03