文章作者 Julie Lerman 是 Microsoft MVP、.NET 導師和顧問,住在佛蒙特州的山區。您可以在全球的用戶組和會議中看到她對數據訪問和其他 .NET 主題的演示。她的博客地址是 [thedatafarm.com/blog][1]。她是“ Entity Framework 編程 ...
文章作者 Julie Lerman 是 Microsoft MVP、.NET 導師和顧問,住在佛蒙特州的山區。您可以在全球的用戶組和會議中看到她對數據訪問和其他 .NET 主題的演示。她的博客地址是 thedatafarm.com/blog。她是“Entity Framework 編程”及其 Code First 和 DbContext 版本(全都出版自 O’Reilly Media)的作者。通過 Twitter 關註她:@julielerman 併在 juliel.me/PS-Videos 上觀看其 Pluralsight 課程。
以下文章全部出自Julie Lerman之手,最初我是在MSDN雜誌上看到。
- 數據點 - CQRS 和 EF 數據模型
命令查詢職責分離 (CQRS) 是一種模式,它實際上在以下這些方面提供指導:分離讀取數據的職責和引起系統的狀態更改的職責(例如,發送確認消息或寫入資料庫),以及設計相應的對象和體繫結構。其設計初衷是幫助高事務性系統,如銀行系統。Greg Young 從 Bertrand Meyer 的命令查詢分離 (CQS) 策略演化出 CQRS,Martin Fowler 認為其最有價值的概念是“如果你能清楚地將更改狀態的方法與未更改狀態的方法分離出來,那麼這個模式會非常有用”(bit.ly/2cuoVeX)。CQRS 所添加的概念是為命令和查詢創建完全分離的模型…… - 數據點 - 處理 EF 中斷開連接的實體的狀態
斷開連接的數據是在 Entity Framework 推出之前就已存在的老問題,就此而言,對於大多數數據訪問工具來說亦是如此。它從來都不是一個很容易就能解決的問題。伺服器通過線纜發送數據,但不知道在請求發送數據的客戶端應用中可能發生什麼,更不知道其是否將返回數據。然後請求中突然重新冒出一些數據。但是是相同的數據嗎? 缺少這些數據是怎麼回事? 這些數據是否發生了什麼? 是全新的數據嗎? 有這麼多需要擔心的問題…… - 數據點 - EF Core 更改-跟蹤行為: Unchanged、Modified 和 Added
你可能已經識別出 Entity Framework (EF) 中作為枚舉用於 EntityState 的 Unchanged、Modified 和 Added。它們也幫助我描述 EF Core 中更改跟蹤的行為(與 Entity Framework 早期版本相比)。更改跟蹤在 EF Core 中已變得更一致,因此當你在使用斷開連接的數據時,對預期結果會更有自信……
第一篇雜誌介紹了命令通過EF實現查詢職責分離模式,當中作者對於值對象實現的代碼我也記錄到了代碼小目中
第二篇雜誌通過對ObjectContext和DbContext的發展歷程的介紹,說明瞭EF中狀態更新的必要性和使用上的偶然性,同時比較了Attach方法和EntityState屬性在實際情況中的異同。後文中還介紹了作者自定義跟蹤EF實體狀態的一種模式,值得參考和吸收。
第三篇雜誌指出EF Core和EF具有兩組不同的API,並分析了部分方法和狀態更新指示。筆者另外也推薦ASP.NET Core教程中結合EF Core的示例說明。