1
我有一個表的主鍵ID列表,這些表的實體我想要拉入EF內存,修改並保存。實體框架,在單個查詢中通過主鍵加載多個實體,同時仍在使用緩存
有了一個ID,你會做這樣的事情
var entity = dbContext.Entity.Find(id);
entity.SomeColumn = "something";
dbContext.SaveChanges()
目前我正在做這樣的事情拉在同一個RTT要修改的實體。
int[] ids = new int[] { 1, 2, 3, 4 };
Entity[] entities = dbContext.Entity
.Where(c => ids.Contains(c.PrimaryKey))
.ToArray();
問題是,是英孚智能足以知道檢查緩存之前,對我的數據庫?例如,如果實體1-4已經連接到上下文,則不應該創建數據庫查詢。
有趣的感謝;沒有時間做我自己的測試,所以我發佈了,但我打算做一些。 'Local'屬性似乎很有用,我想我會做一個類似於Entity.Find的輔助函數,它接受多個ID並首先檢查Local'屬性。 – Slight