包郵 你掌握的Entity Framework 6.x與Core 2.0+實用精要 共3本

包郵 你掌握的Entity Framework 6.x與Core 2.0+實用精要 共3本 pdf epub mobi txt 電子書 下載 2025

汪鵬,呂高旭,鄒瓊俊 著
圖書標籤:
  • Entity Framework
  • EF6
  • EF Core
  • 數據庫
  • 開發
  • 編程
  • 技術
  • 教程
  • 書籍
  • 包郵
  • 精要
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 曠氏文豪圖書專營店
齣版社: 清華大學
ISBN:9787302500179
商品編碼:28883505239

具體描述

SL259  9787302500179 9787302485933 9787302465041

你掌握的Entity Framework 6.x與Core 2.0

《你掌握的Entity Framework 6.x與Core 2.0 》針對Entity Framework 6.x和Entity Framework Core 2.0以通俗易懂的語言進行深入、全麵的探討,並結閤實例來介紹如何靈活運用。

《你掌握的Entity Framework 6.x與Core 2.0 》共四篇,內容分為19章,一篇(第~3章)講述Entity Framework 6.x基礎,並深入講解如何創建過濾索引、遷移的本質等;第二篇(第4~8章)講述Entity Framework 6.x進階,充分闡述Entity Framework 6.x背後隱藏的原理、性能優化、並發解析等;第三篇(第9、10章)講述Entity Framework Core 2.0基礎,並對Entity Framework Core每一版本所齣現的新特性進行詳細介紹和深入研究;第四篇(第11~19章)講述Entity Framework Core 2.0進階,內容包括Entity Framework Core變更追蹤策略、創建上下文實例方式、性能優化,結閤Entity Framework Core 2.0特性實現多租戶模式,利用Entity Framework Core進行數據審計、並發解析等。

《你掌握的Entity Framework 6.x與Core 2.0 》適閤ASP.NET開發人員閱讀,也適閤高等院校和培訓學校相關專業的師生作為教學參考書。


 

第一篇  Entity Framework 6.x基礎

第1章  Entity Framework的發展 3

1.1  Entity Framework版本介紹 3

1.2  Entity Framework 領域建模方式 4

1.2.1  Code First 4

1.2.2  Model First 5

1.2.3  Database First 5

1.3  使用Entity Framework Code First 6.x 的原因 6

1.4  小結 6

第2章  數據庫錶的創建和遷移 7

2.1  數據庫連接和初始化策略 7

2.1.1  數據庫連接 7

2.1.2  數據庫初始化策略 10

2.2  約定 11

2.2.1  類型發現 11

2.2.2  主鍵約定 12

2.2.3  關係約定 13

2.2.4  復雜類型約定 14

2.2.5  自定義約定 15

2.3  基於代碼配置 22

2.4  配置屬性映射和關係映射 24

2.4.1  屬性映射 25

2.4.2  關係映射 42

2.4.3  私有化屬性映射 56

2.5  繼承映射策略 58

2.5.1  Table per Hierarchy(TPH) 58

2.5.2  Table per Type(TPT) 59

2.5.3  Table per Concrete class(TPC) 62

2.5.4  Entity Splitting 65

2.5.5  Table Splitting 67

2.6  代碼遷移 69

2.6.1  遷移命令 69

2.6.2  遷移的本質 73

第3章  實體狀態和數據操作 82

3.1  實體狀態 82

3.2  數據操作 84

3.2.1  數據查詢 85

3.2.2  數據保存 102

3.2.3  自動生成存儲過程 112

3.3  避免陷阱 115

3.3.1  導航屬性查詢 115

3.3.2  分頁查詢 116

3.3.3  語義可空 117

3.3.4  錶值函數 119

3.3.5  日期操作 121

3.4  基礎篇實戰 122

第二篇  Entity Framework 6.x進階

第4章  上下文管理和變更追蹤原理 137

4.1  上下文生命周期管理 137

4.1.1  基礎模式追溯 137

4.1.2  生命周期追溯 139

4.1.3  進化模式追溯 142

4.2  變更追蹤原理 144

4.2.1  快照式變更追蹤 144

4.2.2  代理式變更追蹤 146

第5章  變更追蹤原理和日誌管理 155

5.1  DetectChanges原理 155

5.1.1  DetectChanges的用途 155

5.1.2  調用DetectChanges方法的時機 157

5.1.3  關閉自動調用DetectChanges方法 159

5.1.4  遺忘的二進製屬性和復雜類型 162

5.2  日誌記錄 165

5.2.1  ToString打印 165

5.2.2  簡單日誌打印 166

5.2.3  結構化日誌輸齣 169

5.2.4  構造塊攔截 171

5.2.5  攔截器異常性能監控 175

5.2.6  攔截器解決EF 6.1忽略字符串空格曆史遺留問題 187

5.3  事務 191

5.4  連接彈性 212

第6章  並發衝突 217

6.1  初級版解析 217

6.2  中級版解析 222

6.2.1  客戶端獲勝 223

6.2.2  數據庫獲勝 224

6.2.3  客戶端和數據庫閤並獲勝 225

6.3  高級版解析 226

6.3.1  簡單重試策略 226

6.3.2  Polly重試策略 227

第7章  性能優化實踐 231

7.1  優化一:預編譯視圖 231

7.2  優化二:減少首次與數據庫交互的代碼 235

7.3  優化三:NGen安裝Entity Framework 程序集 237

7.4  優化四:AsNoTracking 239

7.5  優化五:緩存 239

7.6  優化六:重新編譯查詢 245

7.7  優化七:避免“N+1”Select查詢 249

7.8  優化八:添加索引 251

7.9  優化九:關閉迴調DetectChanges方法 255

7.10  優化十:使用異步查詢 257

第8章  Entity Framework 6.x實戰 258

8.1  工作單元泛型倉儲模式 258

8.2  依賴注入泛型倉儲模式 278

第三篇  Entity Framework Core 2.0基礎

第9章  數據庫錶的創建和遷移 295

9.1  數據庫初始化策略 295

9.2  配置屬性映射和關係映射 298

9.2.1  屬性映射 300

9.2.2  Backing Fields 311

9.2.3  Alternate Keys 316

9.2.4  Shadow Property 317

9.2.5  Owned Entities 321

9.2.6  HasQueryFilter修改 322

9.2.7  關係映射 327

9.2.8  繼承映射 346

9.3  代碼遷移 351

9.3.1  控製颱程序遷移 351

9.3.2  Web應用程序遷移 353

9.3.3  多個上下文遷移 364

9.3.4  腳手架逆嚮遷移 367

第10章  數據操作和初始化數據 371

10.1  實體狀態 371

10.2  數據操作 371

10.2.1  數據查詢 371

10.2.2  數據保存 393

10.3  無連接實體 398

10.4  初始化數據 401

第四篇  Entity Framework Core 2.0進階

第11章  性能優化實踐 407

11.1  AsNoTracking 407

11.2  EF.Functions.Like 410

11.3  自定義標量函數 412

11.4  顯式編譯查詢 416

11.5  上下文實例池 419

第12章  查詢實體元數據和模型數據驗證 424

12.1  查詢元數據 424

12.2  內置模型驗證 426

12.3  第三方擴展模型驗證 429

第13章  上下文實例創建方式 432

13.1  顯式創建上下文實例 432

13.1.1  帶有構造函數的OnConfiguring方法 432

13.1.2  傳遞連接字符串參數到構造函數 433

13.1.3  使用不帶依賴注入的DbContextOptions 433

13.2  依賴注入容器創建上下文實例 434

13.2.1  帶有無參構造函數的DI 434

13.2.2  帶DbContextOptions的DI 434

13.3.3  使用泛型DbContextOptions 435

13.3.4  使用AddDbContext/AddDbContextPool 436

第14章  實現多租戶 437

第15章  捕獲審計數據 446

第16章  變更追蹤策略和日誌管理 451

16.1  變更追蹤策略 451

16.1.1  INotifyPropertyChanged 453

16.1.2  INotifyPropertyChanging 457

16.2  日誌管理 458

16.2.1  添加控製颱包輸齣 458

16.2.2  自定義日誌輸齣 459

第17章  xUnit單元測試 462

17.1  控製颱單元測試 463

17.2  NET Core Web應用程序單元測試 465

第18章  事務和並發衝突 468

18.1  事務 468

18.2  並發衝突 473

18.2.1  初級版解析 474

18.2.2  中級版解析 478

18.2.3  高級版解析 482

第19章  Entity Framework Core 2.1 待發布 488


Entity Framework 實用精要

Entity Framework 是微軟公司 .NET 平颱支持的對象關聯映射技術,開發人員可以通過實體數據模型對象與數據庫進行溝通,建立更堅固的商業應用程序係統,避免因為通過 ADO.NET 直接處理 SQL 語句而帶來的風險與可能引發的錯誤。本書通過介紹Entity Framework與 LINQ 開發實戰的案例,以 Entity Framework 技術內容的討論為主綫,結閤關鍵的 LINQ技巧說明,提供讀者係統性學習 Entity Framework 所需的內容。

本書旨在幫助讀者進入 Entity Framework的世界,建立的技術能力,同時希望讀者在完成本書的教學課程之後,能夠更進一步地將其運用在實際的項目開發中。

 

第1章  Entity Framework概觀 1

1.1  初探Entity Framework 1

1.2  Entity Framework與ADO.NET 9

1.3  對象關聯映射——ORM 13

1.4  Entity Framework開發流程 14

1.5  空EF設計器模型 16

1.6  使用Code First 27

1.6.1  來自數據庫的Code First 27

1.6.2  空Code First模型 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.4  POCO與實體數據模型 46

2.5  實體類結構映射 53

2.5.1  數據注解屬性 54

2.5.2  Fluent API 61

2.6  EF Designer數據庫更新 65

2.7  Code First數據庫遷移 71

2.7.1  結構變動遷移 76

2.7.2  查看SQL 78

2.7.3  指定遷移 79

2.8  關於DbContext 79

2.8.1  傳送SQL語句與數據轉換 80

2.8.2  查詢與連接議題 81

2.8.3  管理更新操作 82

2.8.4  DbContext對象生命期 83

2.8.5  覆寫OnModelCreating方法 83

2.8.6  管理與操作數據庫——Database屬性 83

2.8.7  ObjectContext 85

2.9  DbSet 87

2.10  追蹤本地數據集 91

2.11  小結 94

第3章  實體數據模型與LINQ 95

3.1  LINQ與Entity Framework 95

3.2  Select——選擇與投影 99

3.2.1  類型轉換 100

3.2.2  多重from與SelectMany 103

3.3  Where與數據篩選 107

3.4  排序 113

3.5  分組 116

3.6  轉換 122

3.6.1  AsEnumerable 122

3.6.2  Array與List 125

3.6.3  ToDictionary 128

3.6.4  ToLookup 131

3.7  異步查詢 134

3.8  關聯——Join 136

3.8.1  GroupJoin 139

3.8.2  Inner join與Left Outer Join 141

3.8.3  Entity Framework與Join 142

3.9  LINQ、SQL與Entity SQL 146

3.9.1  關於SQL語句 147

3.9.2  Entity SQL 147

3.9.3  Entity SQL參數 149

3.10  小結 150


第4章  Entity Framework與擴充方法 151

4.1  Enumerable擴充方法 151

4.2  聚閤運算 152

4.2.1  計算平均值 153

4.2.2  Average方法與Func 155

4.2.3  聚閤函數 158

4.3  設置操作 160

4.4  産生操作 164

4.4.1  Empty與DefaultIfEmpty 164

4.4.2  Range 166

4.4.3  Repeat 167

4.5  計數運算 169

4.5.1  All 169

4.5.2  Any 171

4.5.3  Contains 172

4.6  分割運算 173

4.6.1  Skip與SkipWhile 174

4.6.2  Take與TakeWhile 176

4.7  元素操作 178

4.7.1  First與FirstOrDefault 178

4.7.2  Last與LastOrDefault 180

4.7.3  ElementAt與ElementAtOrDefault 182

4.7.4  Single與SingleOrDefault 183

4.8  擴展方法的異步版本 185

4.9  小結 186

第5章  數據關聯與繼承 187

5.1  與關聯數據互動 187

5.2  Code Frist與關聯設計 194

5.2.1  Code First關聯設置慣例 196

5.2.2  數據注解 200

5.3  處理特定關聯定義 203

5.3.1  一對一(1 to 0..1) 203

5.3.2  多對多(* to *) 208

5.3.3  多對多關聯——附加數據字段 213

5.4  使用CodeFirst設計關聯 216

5.5  Lazy Loading與Eager Loading 223

5.5.1  調整virtual屬性 229

5.5.2  Include方法與對象加載 231

5.5.3  Include方法與異步數據加載 234

5.6  繼承 235

5.6.1  Table Per Hierarchy(TPH) 235

5.6.2  Table Per Type(TPT) 241

5.6.3  Table Per Concrete Class(TPC) 244

5.7  復雜類型 248

5.8  小結 251

第6章  數據編輯與維護 252

6.1  數據編輯操作 252

6.1.1  實體數據對象狀態 255

6.1.2  更新與刪除 256

6.1.3  Attach 259

6.1.4  變更追蹤——DbContext.ChangeTracker 263

6.1.5  更新驗證異常——DbEntityValidationException 268

6.1.6  DbContext.ValidateEntity方法 271

6.1.7  覆寫SaveChange 272

6.1.8  異步的變更更新 274

6.2  SQL語句 275

6.2.1  使用參數 279

6.2.2  執行非查詢變更指令——ExecuteSqlCommand 280

6.3  存儲過程 281

6.3.1  直接調用存儲過程 288

6.3.2  獲取返迴值 289

6.3.3  CodeFirst自動設置存儲過程 290

6.4  數據變更衝突 294

6.4.1  並發衝突處理——Database Wins或Client Wins 298

6.4.2  SQL語句與數據衝突 300

6.4.3  存儲過程與數據衝突 300

6.4.4  ConcurrencyCheck注解 302

6.5  事務處理 304

6.5.1  共享事務處理連接 305

6.5.2  使用TransactionScope 305

6.6  復雜類型的數據對象變更 308

6.7  小結 310

第7章  ASP.NET整閤應用 311

7.1  Web Forms與Entity Framework 311

7.1.1  查詢 314

7.1.2  更新 315

7.1.3  刪除 316

7.1.4  處理單項數據 316

7.1.5  關聯設計 319

7.2  MVC與Entity Framework 321

7.2.1  查詢 325

7.2.2  更新/刪除 326

7.2.3  添加 330

7.2.4  關係型數據 332

7.3  WCF服務與實體數據模型 335

7.3.1  WCF應用程序項目 335

7.3.2  數據閤約 339

7.3.3  整閤Entity Framework 340

7.4  小結 346



ASP.NET MVC企業級實戰

ASP.NET MVC 是微軟官方提供的以MVC模式為基礎的ASP.NET Web應用程序框架。MVC
將一個Web應用分解為Model、View和Controller,有助於管理復雜的應用程序,並簡化瞭分組開發,使得復雜項目更易維護。本書共分為12章,以符閤初學者思維的方式係統地介紹ASP.NET
MVC的應用技巧,並結閤實際項目詳細地介紹如何基於ASP.NET MVC構建企業項目。通過本書的學習,讀者可以全麵掌握ASP.NET
MVC的開發,並從代碼中獲取軟件開發與架構設計的經驗與靈感。本書具有很大的參考價值,既適閤ASP.NET MVC開發初學者閱讀,也適閤有基礎的ASP.NET
MVC開發人員進行技術強化和經驗積纍,同時還適閤作為高等院校和培訓學校相關專業的教學參考書。
 

第1章  MVC開發前奏 1

1.1  開發環境搭建 1

1.1.1  操作係統和開發工具 1

1.1.2  開發環境配置 3

1.1.3  VS常用快捷鍵 7

1.1.4  VS技巧 8

1.2  常用輔助開發工具介紹 10

1.2.1  Firebug 10

1.2.2  HttpRequester 12

1.3  知識儲備 13

1.3.1  必備知識介紹 13

1.3.2  樹立軟件開發信心 13

1.4  C#語法新特性 14

1.4.1  C# 2.0 新特性 14

1.4.2  C# 3.0/C# 3.5 新特性 16

1.4.3  C# 4.0新特性 26

1.4.4  C#5.0新特性 28

第2章  Entity Framework 29

2.1  Entity Framework簡介 29

2.1.1  與ADO.NET的關係 29

2.1.2  什麼是O/R Mapping 29

2.1.3  ORM in EF 30

2.1.4  EF的優缺點 30

2.2  Database First 開發方式 31

2.2.1  創建Dtabase First Demo 31

2.2.2  EF原理 34

2.3  Entity Framework增刪改查 37

2.3.1  附加數據庫 37

2.3.2  新建項目 39

2.3.3  新增 39

2.3.4  簡單查詢和延時加載 40

2.3.5  根據條件排序和查詢 42

2.3.6  分頁查詢 43

2.3.7  修改 43

2.3.8  刪除 45

2.3.9  批處理 46

2.4  EF查詢相關 48

2.4.1  IQueryable與IEnumberable接口的區彆 48

2.4.2  LINQ To EF 48

2.4.3  關於EF對象的創建問題 50

2.4.4  關於上下文的使用注意事項 51

2.4.5  EF 跨數據庫支持 51

2.5  Model First 開發方式 51

2.5.1  創建Model First Demo 52

2.5.2  經驗分享 60

2.6  Code First 開發方式 60

2.6.1  創建Code First Demo 61

2.6.2  關於EF實例的創建問題 68

第3章  初識MVC 69

3.1  MVC簡介與三層架構 70

3.1.1  MVC簡介 70

3.1.2  三層架構 71

3.2  ASP.NET的兩種開發方式 72

3.2.1  ASP.NET開發現狀 72

3.2.2  WebForms的開發方式 73

3.2.3  ASP.NET MVC的開發方式 74

3.3  第一個ASP.NET MVC程序 75

3.3.1  創建項目 75

3.3.2  項目框架結構說明 77

3.3.3  路由——映射URL到Action 79

3.3.4  返迴string的MVC方法 81

3.3.5  簡單瞭解Razor視圖 81

3.3.6  ASP.NET MVC組件之間的關係 82

3.4  MVC的約定 82

3.4.1  控製器的約定大於配置 83

3.4.2  視圖的相關約定 83

第4章  MVC進階 84

4.1  View詳解 84

4.1.1  View和Action之間數據傳遞的方式 84

4.1.2  TempData、ViewData和ViewBag的區彆 85

4.2  Razor視圖引擎 88

4.2.1  什麼是 Razor 88

4.2.2  Razor 語法 89

4.2.3  Razor 布局——整體視圖模闆 92

4.2.4  Razor 布局——ViewStart 93

4.2.5  Razor 布局——部分視圖 93

4.2.6  視圖引擎 95

4.2.7  MVC視圖的“秘密” 96

4.3  Controller 98

4.3.1  Action方法參數與返迴值 98

4.3.2  Action指定使用視圖 100

4.3.3  View和Controller之間的關係 102

4.4  Model和驗證 104

4.4.1  Net MVC請求處理流程 104

4.4.2  MVC模型驗證 104

4.5  HtmlHelper 111

4.5.1  HtmlHelper的Action、錶單標簽 112

4.5.2  HtmlHelper的弱類型與強類型方法 113

4.5.3  HtmlHelper的RenderPartial 116

4.5.4  HtmlHelper的RenderAction 116

4.5.5  HtmlHelper擴展方法 117

4.6  ASP.NET MVC分頁 118

4.6.1  HtmlHelper 118

4.6.2  局部視圖 124

4.6.3  MvcPager 127

4.6.4  第三方UI組件 131

第5章  MVC核心透析 132

5.1  MVC Routing 132

5.1.1  Routing——URL 133

5.1.2  Routing的作用 134

5.1.3  Routing包含字麵值的URL 134

5.1.4  Routing測試 135

5.2  異步Ajax 137

5.2.1  傳統Ajax實現方式 137

5.2.2  Unobtrusive Ajax使用方式 140

5.2.3  AjaxHelper 141

5.2.4  請求Json數據 144

5.3  MVC Areas 146

5.3.1  Area使用入門 146

5.3.2  Area注冊類放到單獨程序集 148

5.3.3  Area注冊控製器放到單獨程序集 150

5.4  MVC Filter 151

5.4.1  Action 152

5.4.2  Result 153

5.4.3  AuthorizeAttribute 157

5.4.4  Exception 158

5.5  MVC整體運行流程 159

5.5.1  進入管道 159

5.5.2  路由注冊 162

5.5.3  創建MvcHandler對象 164

5.5.4  執行MvcHandler ProcessRequest方法 166

5.5.5  調用控製器裏麵的Action方法 169

5.5.6  根據Action方法返迴的ActionResult加載View 172

第6章  網站性能和安全優化 175

6.1  緩存 175

6.2  壓縮閤並css和js 178

6.3  刪除無用的視圖引擎 179

6.4  使用防僞造令牌來避免CSRF攻擊 181

6.5  隱藏ASP.NET MVC版本 182

6.6  Nginx服務器集群 182

6.6.1  Nginx是什麼 182

6.6.2  Nginx的應用現狀和特點 184

6.6.3  Nginx的事件處理機製 184

6.6.4  Nginx不為人知的特點 186

6.6.5  Nginx的內部模型 186

6.6.6  Nginx如何處理請求 188

6.6.7  Nginx典型的應用場景 188

6.6.8  Nginx的應用 189

6.6.9  Nginx常見配置說明 190

6.6.10  集群案例 195

6.7  常用的Web安全技術手段 197

第7章  NHibernate 199

7.1  NHibernate簡介 199

7.1.1  什麼是NHibernate 199

7.1.2  NHibernate的架構 199

7.1.3  NHibernate與其Entity Framework框架比較 200

7.2  第一個NHibernate應用程序 201

7.2.1  搭建項目基本框架 201

7.2.2  編寫映射文件 206

7.2.3  添加數據訪問層類 209

7.2.4  添加業務邏輯層類 210

7.2.5  添加控製器和視圖 211

7.3  增刪改查詢 212

7.4  使用代碼映射 213

7.4.1  NHibernate入職Demo 214

7.4.2  NHibernate代碼映射高級功能 217

7.5  監聽NHibernate生成的SQL 224

7.5.1  使用show_sql 224

7.5.2  使用NHibernateProfile 225


第8章  IoC 、Log4Net和Quartz.Net 228

8.1  Unity 228

8.1.1  獲取Unity 228

8.1.2  Unity簡介 229

8.1.3  Unity API 229

8.1.4  使用Unity 229

8.2  Spring.Net 234

8.2.1  Web.config中的屬性注入 234

8.2.2  在單獨的配置文件中構造函數注入 238

8.3  Log4Net 240

8.3.1  配置Log4Net環境 240

8.3.2  Log4Net相關概念 244

8.4  Quartz.Net 244

8.4.1  Quartz.Net概述 244

8.4.2  參考資料 244

8.4.3  Quartz.Net使用示例 245

第9章  分布式技術 256

9.1  WebService 256

9.1.1  創建一個WebService並調用 256

9.1.2  調用天氣預報服務 259

9.2  WCF 262

9.2.1  什麼是WCF 262

9.2.2  理解麵嚮服務 263

9.2.3  WCF體係架構簡介 263

9.2.4  WCF的基礎概念介紹 264

9.2.5  創建第一個WCF程序 269

9.2.6  WCF和WebService的區彆 276

9.3  Web API 276

9.3.1  創建WebAPI 277

9.3.2  調用WebAPI 278

9.3.3  WebAPI授權 282

9.3.4  WebAPI的調試 285

9.4  Memcached 285

9.4.1  Memcached簡介 285

9.4.2  Memcached 基本原理 287

9.4.3  Memcached服務端的安裝 288

9.4.4  C#操作Memcached 290

9.5  Redis 292

9.5.1  Redis簡介 292

9.5.2  Redis與Memcached的比較 292

9.5.3  Redis環境部署 293

9.5.4  Redis常用數據類型 296

9.5.5  給Redis設置密碼 302

9.5.6  Redis主從復製 303

9.6  MongoDB 306

9.6.1  MongoDB簡介 306

9.6.2  下載安裝和配置 307

9.6.3  使用mongo.exe 執行數據庫增刪改查操作 311

9.6.4  更多命令 313

9.6.5  MongoDB語法與現有關係型數據庫SQL語法比較 315

9.6.6  可視化的客戶端管理工具MongoVUE 315

9.6.7  通過C#的samus驅動進行操作 317

9.6.8  索引 320

第10章  站內搜索 323

10.1  SEO 323

10.1.1  SEO簡介 323

10.1.2  開發時要考慮SEO 324

10.1.3  關於搜索 326

10.2  Lucene.Net簡介和分詞 328

10.2.1  Lucene.Net簡介 328

10.2.2  分詞 329

10.2.3  盤古分詞算法的使用 332

10.3  最簡單的搜索引擎代碼 334

10.4  搜索的第一個版本 340

10.5  搜索的優化版 349

10.5.1  熱詞統計 349

10.5.2  熱門搜索 354

10.5.3  標題和內容都支持搜索並高亮展示 357

10.5.4  與查詢、或查詢、分頁 358

第11章  財務對賬係統 366

11.1  需求 366

11.2  前颱UI框架搭建 367

11.3  菜單特效 374

11.4  麵闆摺疊和展開 376

11.5  tab多頁簽支持 379

11.6  Controller和View的交互 381

11.7  增改查匹配 389

11.8  統計報錶 407

11.9  服務器端排序 425

11.10  從ASP.NET MVC中導齣Excel文件 428

11.10.1  異步導齣 429

11.10.2  實時導齣 431

11.11  數據同步 432

第12章  通用角色權限管理係統 434

12.1  需求分析 434

12.2  技術選型 434

12.3  數據庫設計 435

12.4  架構搭建 439

12.4.1  新建解決方案和項目 439

12.4.2  通用層搭建 441

12.4.3  數據訪問層搭建 442

12.4.4  業務邏輯層 459

12.4.5  UI層 465

12.5  功能實現 466

12.5.1  用戶登錄 466

12.5.2  采用分布式的方式記錄異常日誌 472

12.5.3  授權 474

12.5.4  增刪改查 475

12.6  運行項目 475 


.NET 數據訪問精研:從 EF 6 到 EF Core,構建高效、可靠的現代應用 在現代軟件開發領域,數據是核心的驅動力,而如何高效、安全地與數據進行交互,則是衡量應用質量的關鍵指標之一。尤其是在 .NET 生態係統中,Entity Framework (EF) 係列作為 ORM (Object-Relational Mapper) 的佼佼者,早已成為開發者們構建數據驅動應用的基石。本書旨在深入剖析 Entity Framework 6.x 與 Entity Framework Core 2.0+ 的核心概念、核心技術以及高級應用模式,為 .NET 開發者提供一份詳盡的實戰指南,助力您掌握現代數據訪問的精髓。 一、 奠定堅實基礎:Entity Framework 6.x 深度解析 盡管 Entity Framework Core 正在快速發展,但 Entity Framework 6.x 仍然在許多成熟的應用中扮演著重要的角色,並且其許多設計理念和模式對於理解 EF Core 仍具有不可替代的價值。本書將從 EF 6.x 的基礎入手,帶您全麵理解其核心架構和工作原理。 ORM 的概念與 EF 6.x 的定位: 我們將首先迴顧 ORM 的基本原理,闡述其如何彌閤對象模型與關係型數據庫之間的鴻溝。隨後,深入探討 EF 6.x 作為經典 ORM 框架的獨特設計,包括 Code-First、Database-First 和 Model-First 三種開發模式的優劣及適用場景。您將學會如何根據項目需求選擇最閤適的開發模式,並掌握每種模式下的詳細配置與實現細節。 DbContext 的生命周期與管理: `DbContext` 是 EF 6.x 中進行數據操作的核心入口。本書將詳細剖析 `DbContext` 的創建、使用與釋放的全過程,包括連接字符串的管理、連接池的工作機製以及如何有效地管理 `DbContext` 的實例,以避免常見的內存泄漏和性能問題。您將學習到各種 `DbContext` 的實例化策略,例如使用依賴注入來管理 `DbContext` 的生命周期,這對於構建可維護、可擴展的應用至關重要。 實體映射與模型配置: 如何將領域模型對象準確地映射到數據庫錶,是 ORM 的核心挑戰。本書將深入講解 EF 6.x 的實體映射機製,包括屬性映射、導航屬性、復閤主鍵、外鍵約束等。您將學習如何使用 Fluent API 和 Data Annotations 來自定義映射規則,以滿足復雜的業務需求,例如處理一對一、一對多、多對多等各種關聯關係。 查詢語言 LINQ to Entities: LINQ (Language Integrated Query) 是 .NET 中強大的查詢技術,而 LINQ to Entities 則將這種能力延伸到瞭數據庫層麵。本書將詳細講解如何使用 LINQ to Entities 進行高效的數據查詢,包括選擇、過濾、排序、分組、連接等各種操作。我們將深入分析查詢的執行過程,揭示 EF 6.x 如何將 LINQ 查詢轉換為 SQL 語句,並提供優化查詢性能的實用技巧,例如延遲加載、即時加載、顯式加載等策略的選擇與應用。 數據持久化操作: 從數據的增、刪、改、查,到批量操作,本書將全麵覆蓋 EF 6.x 的數據持久化能力。您將學習如何使用 `DbSet` 進行實體對象的添加、修改和刪除,以及如何利用 `SaveChanges` 方法將這些變更一次性提交到數據庫。此外,我們還將探討如何通過 `AddRange`、`RemoveRange` 等方法實現批量操作,大幅提升數據處理效率。 事務管理: 數據庫事務是保證數據一緻性的關鍵。本書將詳細講解 EF 6.x 中的事務管理機製,包括顯式事務和隱式事務。您將學習如何通過 `DbContext.Database.BeginTransaction()` 來控製事務的範圍,以及如何處理並發衝突和迴滾操作,確保數據的完整性和可靠性。 高級特性與優化: 除瞭基礎功能,本書還將深入探討 EF 6.x 的一些高級特性,例如: 並發控製: 講解樂觀並發和悲觀並發兩種策略,以及如何在 EF 6.x 中實現它們,以應對多用戶並發訪問帶來的挑戰。 數據遷移: 介紹 EF 6.x 的 Code-First Migrations 功能,以及如何使用遷移來管理數據庫模式的演進,確保數據庫與代碼的同步。 攔截器: 講解如何使用攔截器來擴展 EF 6.x 的功能,例如記錄 SQL 語句、修改 SQL 查詢、處理數據等。 性能調優: 提供一係列實用的性能優化建議,包括查詢優化、連接管理、緩存策略等,幫助您構建高性能的數據訪問層。 二、 擁抱未來:Entity Framework Core 2.0+ 深度實踐 Entity Framework Core (EF Core) 是微軟對 EF 的全新重寫,它在性能、跨平颱支持、可擴展性等方麵都進行瞭重大的改進。本書將重點關注 EF Core 2.0 及以上版本,帶您掌握現代 .NET 應用的數據訪問新範式。 EF Core 的新特性與優勢: 我們將首先對比 EF 6.x 與 EF Core 的主要差異,突齣 EF Core 在性能、內存占用、跨平颱支持(包括 .NET Core/ .NET 5+)以及模塊化設計方麵的顯著優勢。您將理解為什麼 EF Core 是構建未來 .NET 應用的首選數據訪問框架。 EF Core 的核心概念與架構: 深入理解 EF Core 的核心組件,包括 `DbContext`、`DbSet`、`ModelBuilder` 等。我們將重點講解 EF Core 的模型構建過程,包括如何使用 `OnModelCreating` 方法進行詳細的配置,以及如何利用 Data Annotations 和 Fluent API 來定義實體屬性、關係和約束。 EF Core 的數據查詢優化: EF Core 在查詢性能上進行瞭大量的優化。本書將深入講解 EF Core 的查詢執行策略,包括: LINQ to Entities in EF Core: 講解 EF Core 如何將 LINQ 查詢轉換為高效的 SQL 語句,並重點介紹 EF Core 中對 LINQ 語法的支持和限製。 查詢標簽 (Query Tags): 學習如何使用查詢標簽來標記和組織復雜的查詢,便於調試和維護。 查詢執行計劃 (Execution Plans): 介紹如何分析 EF Core 生成的 SQL 查詢的執行計劃,從而發現性能瓶頸。 EF Core 3.x 及更高版本的性能改進: 重點介紹 EF Core 在新版本中引入的性能優化,例如新的查詢編譯器、更高效的 LINQ 翻譯等。 EF Core 的數據持久化與事務: 講解 EF Core 中數據插入、更新、刪除的 API,以及如何利用 `SaveChanges`、`SaveChangesAsync` 方法高效地將數據同步到數據庫。我們還將詳細講解 EF Core 中的事務管理,包括如何使用 `DbContext.Database.BeginTransactionAsync()` 等方法來保證數據的一緻性。 EF Core 的模型配置與映射: 深入探討 EF Core 中更加靈活和強大的模型配置能力。您將學習如何: 配置關係: 精確配置一對一、一對多、多對多關係,以及如何處理導航屬性。 設置主鍵與外鍵: 靈活定義主鍵和外鍵,包括復閤主鍵。 處理錶與列的命名: 自定義數據庫錶和列的名稱,以適應現有的數據庫模式或滿足命名規範。 屬性的映射: 精細控製實體屬性到數據庫列的映射,包括數據類型、精度、是否可為空等。 值對象 (Owned Entities): 學習如何使用 EF Core 的值對象功能來映射復雜類型,提升模型的可讀性和錶達能力。 EF Core 的數據遷移: EF Core 的數據遷移功能更加現代化和靈活。本書將詳細講解 EF Core 的遷移工具,包括如何創建、應用和迴滾遷移,以及如何處理數據庫模式的自動化管理,從而實現數據庫與代碼的平滑演進。 EF Core 的高級特性與擴展: JSON 列支持: 介紹 EF Core 如何原生支持 JSON 列,方便存儲和查詢結構化數據。 全局查詢過濾器 (Global Query Filters): 學習如何使用全局查詢過濾器來自動過濾數據,例如實現軟刪除或多租戶隔離。 攔截器 (Interceptors): 深入講解 EF Core 的攔截器機製,使其比 EF 6.x 更強大,可以攔截命令、保存更改等,實現更精細化的控製。 領域驅動設計 (DDD) 與 EF Core: 探討如何將 DDD 的思想與 EF Core 結閤,構建更具領域意識的數據訪問層,包括聚閤根、倉儲模式等。 性能剖析與優化: 提供一套完整的 EF Core 性能剖析和優化方法論,幫助您識彆和解決性能瓶頸,例如查詢緩存、連接池配置、使用 `AsNoTracking()` 等。 EF Core 在不同場景下的應用: 結閤實際案例,展示 EF Core 在 Web API、桌麵應用、微服務等不同場景下的應用實踐。 三、 綜閤應用與進階:構建企業級數據訪問解決方案 掌握瞭 EF 6.x 和 EF Core 的基礎與進階知識後,本書將進一步引導您構建健壯、可擴展的企業級數據訪問解決方案。 依賴注入與 EF Core/EF 6.x: 深入講解如何在 ASP.NET Core 等現代應用框架中使用依賴注入來管理 `DbContext` 的生命周期,以及如何配置和使用 `DbContext`。 倉儲模式 (Repository Pattern) 與單元 of Work (Unit of Work): 結閤 EF Core 和 EF 6.x,詳細講解如何實現經典的倉儲模式和單元 of Work 模式,以此來封裝數據訪問邏輯,提高代碼的解耦性和可測試性。 單元測試與 EF Core/EF 6.x: 提供針對數據訪問層的單元測試策略,包括如何使用 InMemory Provider、SQLite 等方式模擬數據庫,以及如何編寫有效的單元測試來保證代碼的質量。 安全性考量: 講解在數據訪問過程中需要注意的安全問題,例如 SQL 注入的防範、數據加密、敏感信息管理等。 與其他技術棧的集成: 探討 EF Core/EF 6.x 如何與其他 .NET 技術棧(如 ASP.NET Core MVC/Razor Pages、Blazor、WPF 等)進行無縫集成,構建完整的應用程序。 性能監控與日誌: 介紹如何利用 EF Core/EF 6.x 的日誌記錄功能,以及第三方工具來監控數據訪問的性能,及時發現和解決問題。 本書的目標讀者: 有一定 .NET 基礎,希望深入理解 Entity Framework 6.x 或 Entity Framework Core 的開發者。 正在進行 .NET 項目開發,需要掌握高效、可靠的數據訪問技術的工程師。 對 ORM 技術感興趣,希望係統學習 Entity Framework 係列框架的架構師或技術Lead。 希望提升 .NET 應用性能和可維護性的開發者。 通過本書的學習,您將能夠遊刃有餘地運用 Entity Framework 6.x 和 Entity Framework Core 2.0+ 來構建高性能、高可靠性的 .NET 應用,將數據訪問的挑戰轉化為構建卓越産品的堅實基石。

用戶評價

評分

說實話,剛開始買這本書的時候,有點猶豫,因為我對EF的瞭解僅限於一些基礎操作,感覺Core 2.0+可能對我來說有點超前。但讀完之後,我發現完全不是我想象的那樣。作者用一種非常循序漸進的方式,將EF Core 2.0+的各種新特性和變化講得透徹明瞭。他不僅介紹瞭LINQ的改進,比如更強的查詢翻譯能力,還重點講解瞭EF Core 2.0+在性能上的巨大飛躍,包括查詢優化、內存管理以及如何利用SQL Server的某些特定功能來提升效率。讓我印象特彆深刻的是關於遷移(Migrations)那部分。以前用EF6做遷移,總覺得有點繁瑣,而且容易齣錯。這本書詳細解釋瞭EF Core 2.0+中遷移的整個流程,包括如何生成、應用和迴滾遷移,以及如何處理復雜的遷移場景。作者還給齣瞭很多實用的技巧,比如如何利用第三方工具來輔助遷移,以及如何編寫自定義遷移操作。這本書讓我對EF Core 2.0+有瞭全新的認識,也對未來的項目開發充滿瞭信心。它不僅僅是一本技術手冊,更像是一位經驗豐富的導師,在我學習新技術的道路上指明瞭方嚮。

評分

這本書我實在太滿意瞭,尤其是講到ORM的性能優化那塊。之前寫項目的時候,總是感覺數據庫訪問速度提不上來,明明SQL語句都寫得很清晰瞭,但就是慢,讓我一度懷疑人生。看瞭這本書關於EF6的深入講解,終於明白瞭問題所在。作者詳細剖析瞭N+1問題,並且給齣瞭幾種非常實用的解決方案,比如使用`Include`和`ThenInclude`來預加載關聯實體,還有`AsNoTracking()`的妙用,讓我恍然大悟。特彆是關於EF Core 2.0+的部分,作者講解瞭如何利用`Microsoft.EntityFrameworkCore.Query`命名空間下的高級API來構建更復雜的查詢,甚至是如何自定義LINQ提供程序,這一點簡直是顛覆瞭我對ORM的認知。以前總覺得ORM就那樣瞭,能用就行,但看瞭這本書,纔知道ORM的潛力遠不止於此。作者的講解非常細緻,每一個知識點都伴隨著大量的代碼示例,而且示例代碼都很貼閤實際開發場景,不是那種脫離實際的“玩具代碼”。對於那些想要深入理解ORM底層原理,並將其運用到極緻的開發者來說,這本書絕對是寶藏。我甚至覺得,這本書的內容,比很多付費的在綫課程還要紮實和有價值。

評分

我對這本書最滿意的地方在於它對於“實用”二字的極緻追求。作者並沒有過多地停留在理論層麵,而是將大量的篇幅用在瞭實際應用和解決方案上。比如,在處理並發控製時,書中不僅講解瞭EF6的樂觀並發和EF Core 2.0+的`IsConcurrencyToken`屬性,還提供瞭針對不同場景下的最佳實踐,例如如何設計數據庫字段來支持並發,以及如何在UI層進行友好的提示和處理。另外,關於數據訪問層的設計模式,書中也給齣瞭非常詳細的分析,包括Repository模式、Unit of Work模式等,並結閤EF的特性講解瞭如何優雅地實現它們,讓代碼更加模塊化、可測試。我還特彆喜歡書中關於性能調優的章節,作者分享瞭一些非常隱蔽但又非常有效的技巧,比如如何通過配置EF來減少SQL查詢的次數,或者如何利用EF Core 2.0+的Query Cache來加速重復查詢。這些內容是我在其他地方很少能找到的,或者即使找到瞭,講解也沒有這本書這麼深入和清晰。這本書就像一本武林秘籍,把我一直以來在EF開發中遇到的各種瓶頸一一化解,讓我感覺自己的技術水平又提升瞭一個檔次。

評分

作為一個多年的.NET開發者,我一直在關注ORM技術的演進,而EF 6.x和EF Core 2.0+無疑是其中的重要代錶。這本書恰好完美地覆蓋瞭這兩個版本,並且深入剖析瞭它們之間的聯係和區彆。作者並沒有簡單地將兩個版本的內容割裂開來,而是巧妙地將它們融為一體,讓讀者能夠清晰地看到EF技術的傳承和發展。例如,在講到LINQ to Entities時,作者會先迴顧EF 6.x的實現方式,然後再講解EF Core 2.0+是如何進行改進和優化的,比如更強大的查詢翻譯器、更靈活的查詢日誌記錄功能等。讓我印象深刻的是,書中對EF Core 2.0+中的一些“坑”也做瞭詳細的提示和解決方案,這對於規避開發中的潛在問題非常有幫助。作者還分享瞭一些關於EF Core 2.0+的性能基準測試數據,讓我能夠更直觀地感受到新版本在性能上的優勢。總而言之,這本書不僅是一本技術參考書,更是一本幫助我全麵理解EF技術發展曆程、掌握最新技術、並提升開發效率的寶貴資源。

評分

這本書的講解風格非常獨特,讓我耳目一新。作者似乎非常善於抓住核心問題,然後用最直接、最生動的方式將其闡述清楚。比如,在講解EF Core 2.0+的依賴注入(Dependency Injection)集成時,作者沒有一開始就拋齣復雜的代碼,而是先解釋瞭為什麼需要DI,DI能帶來什麼好處,然後再逐步引入EF Core 2.0+的DI配置和使用方式。這種由淺入深、循序漸進的講解方式,讓即使是對DI不太熟悉的開發者也能很快理解。而且,書中對SQL Server和其他數據庫的集成也做瞭詳細介紹,包括不同數據庫的驅動安裝、連接字符串配置以及EF Core 2.0+對不同數據庫特性的支持情況。讓我驚喜的是,書中還提到瞭如何針對SQLite、PostgreSQL等數據庫進行優化,這對於需要支持多數據庫的項目來說,簡直是福音。作者的文字功底也很不錯,很多枯燥的技術概念,在他的筆下都變得生動有趣,讀起來一點都不覺得乏味。這本書的每一頁都充滿瞭作者的用心,讓我感受到他不僅僅是在傳授技術,更是在分享他的經驗和思考。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有