實體框架4 - STE - 簡單DB與具有BlogID PK柱單個表博客...實體框架ObjectContext是否正確實現了工作單元模式?
var samplesDbEntities = new SamplesDBEntities();
var blogId = Guid.NewGuid();
samplesDbEntities.Blogs.AddObject(new Blog() { BlogID = blogId });
var objectSetResult = samplesDbEntities.Blogs
.Where(p => p.BlogID == blogId)
.SingleOrDefault();
(代碼執行的結果=> objectSetResult == NULL的最後一行之後)
AFAIK,ObjectContext是UoW模式的實現,在這種情況下,我想我應該從ObjectSet(Repository)返回的結果只是「標記爲瞬態」 有人可以解釋我做錯了什麼,以及爲什麼objectSetResult在這裏有null值?
(是的,我知道ObjectStateManager的,但對我來說是多爲上提到的建築問題的補丁的)
-1因爲這是不是在確切的問題上回答「實體框架ObjectContext是否正確實施工作單元模式?」 – Restuta 2010-06-25 15:25:56
夠公平的。查看更新的答案。 – Yakimych 2010-06-25 17:04:24
我的用例是實體在持久性發生之前被添加和檢索 - 如果我必須自己堅持每個實體而不是批量持久化,那麼UoW又有什麼意義呢? 至於更新代碼,你不覺得我必須知道我需要使用ObjectStateManager的事實不好(泄漏基礎設施)嗎? 不是我微不足道的樣品,但「得到」可以在完全不同的地方發生在哪裏我不知道,如果補上一的情況下。爲什麼這不會被封裝在OBjectSet本身內部(比如UoW應該這樣做)並且只是在持久化過程中被識別? – 2010-06-25 17:58:31