![](/img/trans.png)
[英]Is there a DbSet<TEntity>.Local equivalent in Entity Framework 7?
[英]Using DbSet<TEntity>.Local Property in Entity Framework
在MSDN文檔之后,我們可以使用Local屬性直接從上下文獲取本地/緩存數據,而無需對數據源的其他請求:
獲取一個ObservableCollection,它表示此集合中所有已添加,未更改和已修改實體的本地視圖。
(......)
通過使用數據填充集合,此屬性可用於數據綁定,例如,使用Load擴展方法,然后通過此屬性綁定到本地數據。
問題是,代碼不起作用( Local為空):
context.SampleEntities.Select(x => new { x.A, x.B }).Load();
// context.SampleEntities.Local.Count is 0
但在這種情況下,它似乎正常工作:
context.SampleEntities.Load();
// context.SampleEntities.Local.Count is not 0
也許有人可以解釋使用Local屬性的正確方法是什么?
更重要的是,如何將它與部分加載的實體一起使用,如上面的情況?
這是預期的行為。 本地緩存在DbContext對象的生命周期中由您從數據庫加載的實體。 帶查詢:
context.SampleEntities.Select(x => new { x.A, x.B })
你正在加載你的應用程序內存沒有SampleEntity對象,但只有它的proepities A和B.選擇也轉換為sql查詢,以限制從查詢返回的行,從而提高性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.