《Entity Framework 實用精要》是2018年1月1日出版的圖書,作者是呂高旭。
基本介紹
- 書名:Entity Framework 實用精要
- 作者:呂高旭
- ISBN:9787302485933
- 定價:79元
- 出版時間:2018年1月1日
- 印刷日期:2017.12.14
內容簡介,圖書目錄,
內容簡介
Entity Framework 是微軟公司 .NET 平台支持的對象關聯映射技術,開發人員可以通過實體數據模型對象與資料庫進行溝通,建立更堅固的商業應用程式系統,避免因為通過 ADO.NET 直接處理 SQL 語句而帶來的風險與可能引發的錯誤。本書通過介紹Entity Framework與 LINQ 開發實戰的案例,以 Entity Framework 技術內容的討論為主線,結合關鍵的 LINQ技巧說明,提供讀者系統性學習 Entity Framework 所需的內容。 本書旨在幫助讀者進入 Entity Framework的世界,建立必要的技術能力,同時希望讀者在完成本書的教學課程之後,能夠更進一步地將其運用在實際的項目開發中。
圖書目錄
第1章EntityFramework概觀1
1.1初探EntityFramework1
1.2EntityFramework與ADO.NET9
1.3對象關聯映射——ORM13
1.4EntityFramework開發流程14
1.5空EF設計器模型16
1.6使用CodeFirst27
1.6.1來自資料庫的CodeFirst27
1.6.2空CodeFirst模型31
1.7小結34
第2章實體數據模型35
2.1實體數據模型概觀35
2.2模型工具與.edmx檔案36
2.2.1概念模型39
2.2.2存儲模型42
2.2.3映射42
2.3實體數據模型與類檔案44
2.4POCO與實體數據模型46
2.5實體類結構映射53
2.5.1數據註解屬性54
2.5.2FluentAPI61
2.6EFDesigner資料庫更新65
2.7CodeFirst資料庫遷移71
2.7.1結構變動遷移76
2.7.2查看SQL78
2.7.3指定遷移79
2.8關於DbContext79
2.8.1傳送SQL語句與數據轉換80
2.8.2查詢與連線議題81
2.8.3管理更新操作82
2.8.4DbContext對象生命期83
2.8.5覆寫OnModelCreating方法83
2.8.6管理與運算元據庫——Database屬性83
2.8.7ObjectContext85
2.9DbSet87
2.10追蹤本地數據集91
2.11小結94
第3章實體數據模型與LINQ95
3.1LINQ與EntityFramework95
3.2Select——選擇與投影99
3.2.1類型轉換100
3.2.2多重from與SelectMany103
3.3Where與數據篩選107
3.4排序113
3.5分組116
3.6轉換122
3.6.1AsEnumerable122
3.6.2Array與List125
3.6.3ToDictionary128
3.6.4ToLookup131
3.7異步查詢134
3.8關聯——Join136
3.8.1GroupJoin139
3.8.2Innerjoin與LeftOuterJoin141
3.8.3EntityFramework與Join142
3.9LINQ、SQL與EntitySQL146
3.9.1關於SQL語句147
3.9.2EntitySQL147
3.9.3EntitySQL參數149
3.10小結150
第4章EntityFramework與擴充方法151
4.1Enumerable擴充方法151
4.2聚合運算152
4.2.1計算平均值153
4.2.2Average方法與Func155
4.2.3聚合函式158
4.3設定操作160
4.4產生操作164
4.4.1Empty與DefaultIfEmpty164
4.4.2Range166
4.4.3Repeat167
4.5計數運算169
4.5.1All169
4.5.2Any171
4.5.3Contains172
4.6分割運算173
4.6.1Skip與SkipWhile174
4.6.2Take與TakeWhile176
4.7元素操作178
4.7.1First與FirstOrDefault178
4.7.2Last與LastOrDefault180
4.7.3ElementAt與ElementAtOrDefault182
4.7.4Single與SingleOrDefault183
4.8擴展方法的異步版本185
4.9小結186
第5章數據關聯與繼承187
5.1與關聯數據互動187
5.2CodeFrist與關聯設計194
5.2.1CodeFirst關聯設定慣例196
5.2.2數據註解200
5.3處理特定關聯定義203
5.3.1一對一(1to0..1)203
5.3.2多對多(*to*)208
5.3.3多對多關聯——附加數據欄位213
5.4使用CodeFirst設計關聯216
5.5LazyLoading與EagerLoading223
5.5.1調整virtual屬性229
5.5.2Include方法與對象載入231
5.5.3Include方法與異步數據載入234
5.6繼承235
5.6.1TablePerHierarchy(TPH)235
5.6.2TablePerType(TPT)241
5.6.3TablePerConcreteClass(TPC)244
5.7複雜類型248
5.8小結251
第6章數據編輯與維護252
6.1數據編輯操作252
6.1.1實體數據對象狀態255
6.1.2更新與刪除256
6.1.3Attach259
6.1.4變更追蹤——DbContext.ChangeTracker263
6.1.5更新驗證異常——DbEntityValidationException268
6.1.6DbContext.ValidateEntity方法271
6.1.7覆寫SaveChange272
6.1.8異步的變更更新274
6.2SQL語句275
6.2.1使用參數279
6.2.2執行非查詢變更指令——ExecuteSqlCommand280
6.3存儲過程281
6.3.1直接調用存儲過程288
6.3.2獲取返回值289
6.3.3CodeFirst自動設定存儲過程290
6.4數據變更衝突294
6.4.1並發衝突處理——DatabaseWins或ClientWins298
6.4.2SQL語句與數據衝突300
6.4.3存儲過程與數據衝突300
6.4.4ConcurrencyCheck註解302
6.5事務處理304
6.5.1共享事務處理連線305
6.5.2使用TransactionScope305
6.6複雜類型的數據對象變更308
6.7小結310
第7章ASP.NET整合套用311
7.1WebForms與EntityFramework311
7.1.1查詢314
7.1.2更新315
7.1.3刪除316
7.1.4處理單項數據316
7.1.5關聯設計319
7.2MVC與EntityFramework321
7.2.1查詢325
7.2.2更新/刪除326
7.2.3添加330
7.2.4關係型數據332
7.3WCF服務與實體數據模型335
7.3.1WCF應用程式項目335
7.3.2數據契約339
7.3.3整合EntityFramework340
7.4小結346
1.1初探EntityFramework1
1.2EntityFramework與ADO.NET9
1.3對象關聯映射——ORM13
1.4EntityFramework開發流程14
1.5空EF設計器模型16
1.6使用CodeFirst27
1.6.1來自資料庫的CodeFirst27
1.6.2空CodeFirst模型31
1.7小結34
第2章實體數據模型35
2.1實體數據模型概觀35
2.2模型工具與.edmx檔案36
2.2.1概念模型39
2.2.2存儲模型42
2.2.3映射42
2.3實體數據模型與類檔案44
2.4POCO與實體數據模型46
2.5實體類結構映射53
2.5.1數據註解屬性54
2.5.2FluentAPI61
2.6EFDesigner資料庫更新65
2.7CodeFirst資料庫遷移71
2.7.1結構變動遷移76
2.7.2查看SQL78
2.7.3指定遷移79
2.8關於DbContext79
2.8.1傳送SQL語句與數據轉換80
2.8.2查詢與連線議題81
2.8.3管理更新操作82
2.8.4DbContext對象生命期83
2.8.5覆寫OnModelCreating方法83
2.8.6管理與運算元據庫——Database屬性83
2.8.7ObjectContext85
2.9DbSet87
2.10追蹤本地數據集91
2.11小結94
第3章實體數據模型與LINQ95
3.1LINQ與EntityFramework95
3.2Select——選擇與投影99
3.2.1類型轉換100
3.2.2多重from與SelectMany103
3.3Where與數據篩選107
3.4排序113
3.5分組116
3.6轉換122
3.6.1AsEnumerable122
3.6.2Array與List125
3.6.3ToDictionary128
3.6.4ToLookup131
3.7異步查詢134
3.8關聯——Join136
3.8.1GroupJoin139
3.8.2Innerjoin與LeftOuterJoin141
3.8.3EntityFramework與Join142
3.9LINQ、SQL與EntitySQL146
3.9.1關於SQL語句147
3.9.2EntitySQL147
3.9.3EntitySQL參數149
3.10小結150
第4章EntityFramework與擴充方法151
4.1Enumerable擴充方法151
4.2聚合運算152
4.2.1計算平均值153
4.2.2Average方法與Func155
4.2.3聚合函式158
4.3設定操作160
4.4產生操作164
4.4.1Empty與DefaultIfEmpty164
4.4.2Range166
4.4.3Repeat167
4.5計數運算169
4.5.1All169
4.5.2Any171
4.5.3Contains172
4.6分割運算173
4.6.1Skip與SkipWhile174
4.6.2Take與TakeWhile176
4.7元素操作178
4.7.1First與FirstOrDefault178
4.7.2Last與LastOrDefault180
4.7.3ElementAt與ElementAtOrDefault182
4.7.4Single與SingleOrDefault183
4.8擴展方法的異步版本185
4.9小結186
第5章數據關聯與繼承187
5.1與關聯數據互動187
5.2CodeFrist與關聯設計194
5.2.1CodeFirst關聯設定慣例196
5.2.2數據註解200
5.3處理特定關聯定義203
5.3.1一對一(1to0..1)203
5.3.2多對多(*to*)208
5.3.3多對多關聯——附加數據欄位213
5.4使用CodeFirst設計關聯216
5.5LazyLoading與EagerLoading223
5.5.1調整virtual屬性229
5.5.2Include方法與對象載入231
5.5.3Include方法與異步數據載入234
5.6繼承235
5.6.1TablePerHierarchy(TPH)235
5.6.2TablePerType(TPT)241
5.6.3TablePerConcreteClass(TPC)244
5.7複雜類型248
5.8小結251
第6章數據編輯與維護252
6.1數據編輯操作252
6.1.1實體數據對象狀態255
6.1.2更新與刪除256
6.1.3Attach259
6.1.4變更追蹤——DbContext.ChangeTracker263
6.1.5更新驗證異常——DbEntityValidationException268
6.1.6DbContext.ValidateEntity方法271
6.1.7覆寫SaveChange272
6.1.8異步的變更更新274
6.2SQL語句275
6.2.1使用參數279
6.2.2執行非查詢變更指令——ExecuteSqlCommand280
6.3存儲過程281
6.3.1直接調用存儲過程288
6.3.2獲取返回值289
6.3.3CodeFirst自動設定存儲過程290
6.4數據變更衝突294
6.4.1並發衝突處理——DatabaseWins或ClientWins298
6.4.2SQL語句與數據衝突300
6.4.3存儲過程與數據衝突300
6.4.4ConcurrencyCheck註解302
6.5事務處理304
6.5.1共享事務處理連線305
6.5.2使用TransactionScope305
6.6複雜類型的數據對象變更308
6.7小結310
第7章ASP.NET整合套用311
7.1WebForms與EntityFramework311
7.1.1查詢314
7.1.2更新315
7.1.3刪除316
7.1.4處理單項數據316
7.1.5關聯設計319
7.2MVC與EntityFramework321
7.2.1查詢325
7.2.2更新/刪除326
7.2.3添加330
7.2.4關係型數據332
7.3WCF服務與實體數據模型335
7.3.1WCF應用程式項目335
7.3.2數據契約339
7.3.3整合EntityFramework340
7.4小結346