2017-03-03 52 views
1

是否有可能(這是使用CodeFirst的EF6 DbContext)檢測已傳遞給給定數據上下文以供保存但實際上附加到不同上下文的任何實體?檢測附加到實體框架中不同上下文的實體

實體框架只是給出一個通用的,不能保存,因爲實體附加到另一個上下文錯誤,但沒有給出關於哪個實體附加到不同的上下文的任何信息。這使得這種情況特別難以調試。

我知道changeTracker.Entries()(其中我不確定這些記錄實際出現在哪裏),我知道我可以比較這些實體與本地上下文以查看它們是否被跟蹤,但不是這些選項似乎可以讓我確定實體是否被不同的環境跟蹤。

+2

這可能有用嗎? http://stackoverflow.com/questions/25230024/get-dbcontext-from-entity-in-entity-framework – bigozz

回答

1

你不能這樣做,因爲實體不存儲任何指向上下文的指針,實際上它是相反的(上下文知道實體)。 如果您在您的實體中使用延遲加載,您可以做什麼,使用反射,找出實體來自的上下文。但我不會建議。