如何編寫包含待處理插入的查詢以及數據庫中的記錄?我使用EF 4.3 Code First。查詢包含待處理的插入
Ex。
Foo = new Foo { Bar = 5 };
dbContext.Set<Foo>.Add(foo);
IEnumerable<Foo> foos = dbContext.Set<Foo>.Where(f => f.Bar == 5).ToList();
ActOnFoos(foos);
dbContext.SaveChanges();
我想foos
到包括在數據庫中的記錄,以及被掛起的插入記錄。我只獲取數據庫中的值。
在我的實際代碼中,我會在運行我的查詢之前插入/更新多個Foos。
編輯
我要找的東西,也有類似的行爲Find
。 Find
將首先檢查上下文,然後在沒有找到任何內容的情況下轉到數據庫。我想結合上下文和數據庫的結果。
我希望避免這種情況,但它看起來像我唯一的選擇。我正在做第一次,但第二次看起來很有趣。兩者之間有明顯的性能差異嗎? – cadrell0 2012-02-17 13:40:11
根據項目的數量,它可以有一些差異,因爲避免了聯合(它比較了確保每個實體只出現一次的集合)。 – 2012-02-17 16:17:19