可能在EF4工作
你應該能夠通過你的ObjectContext
像
var articles = ctx.ObjectStateManager
// Get all entries for added/changed/modified entities
.GetObjectStateEntries(EntityState.Added |
EntityState.Unchanged |
EntityState.Modified)
// select the entity objects from the entries
.Select(entry=>entry.Entity)
// we're only interested in Article objects
.OfType<Article>();
注的ObjectStateManager
來獲取所有當前跟蹤的對象:因爲我還沒有安裝EF4所以我不能」 t驗證此解決方案。但是我記得前段時間成功做到了這一點:)。當有非常大的對象來完成它可能不是很高性能的設置,雖然...
Works爲EF 5
可以使用DbSet
類的Local
屬性。此屬性表示Context所當前跟蹤的對象(即當前加載和/或本地添加而不刪除那些對象的所有對象)。訪問Local
屬性從不會執行數據庫查詢。
所以,你可以使用ctx.Articles.Local
並獲得其中包含您的newart
對象
是EF4 – S3ddi9
是有效@MartinStettner我相信這是(與前面的查詢加載的任何對象一起)的數據集,但我沒有快速找到關於此的任何信息(並且我目前只安裝了EF5)。但是你應該可以很容易地驗證EF4中是否存在'Local'屬性:如果它存在,我很確定它的工作方式與EF5相同... – MartinStettner
不,它不存在於EF4上,也許它一個新功能 – S3ddi9