日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版

發(fā)布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

到目前為止寫過剛好兩百來篇博客,看過我博客的讀者應(yīng)該大概知道我每一篇博客都沿襲著一貫的套路,從前言到話題最終到總結(jié),本文依然是一如既往的套路,但是不是介紹技術(shù),也可說是介紹技術(shù),不過是介紹書中的技術(shù)以及我對寫作的態(tài)度,作為對本書的宣傳,本書在最近即將出版,到時會在博客公告欄中放出購買鏈接。

寫作初衷

之前有過出版社的編輯找我寫書,我當(dāng)時看了看也沒回復(fù)最終當(dāng)然也就是不了了之了,最主要的是覺得自己資歷尚淺,寫書和寫博客有很大不同,寫博客在言語上可以略微隨意,而寫書需要的是嚴(yán)謹(jǐn)同時在表達(dá)上也應(yīng)言簡意賅,后來怎么又寫上了呢,看了看自己寫的博客當(dāng)屬EF最多,記得在我初次學(xué)習(xí)EF時,我還特意搜索了下有沒有相關(guān)中文的書籍作為參考資料,然而幾乎一本都沒有,后來我只能看看園中前輩們的博客和老外的文章來學(xué)習(xí),最終也就寫了一部分不算完整的EF系列,這個時候我想到是不是可以寫一本EF 6.x和EF Core 2.0的書籍呢?作為EF 6.x和EF Core 2.0系統(tǒng)性學(xué)習(xí)的參考資料,若能幫助到初學(xué)和想繼續(xù)深入的同行將再好不過了,也算是我對.NET作出的一份努力,同時也希望通過本書讓您重新拾起對EF和EF Core的正確認(rèn)知。

寫作態(tài)度

從選題材到寫完書大概耗時半年多的時間,在寫EF篇章時腳步稍微快些,因為之前寫過,只是在其過程中EF更新了一點(diǎn)點(diǎn)內(nèi)容就花了一點(diǎn)時間去看文檔,所以相對來說比較熟練一點(diǎn),到了EF Core篇章腳步放緩了很多,雖然我也有寫過,但是還不夠深入,所以相當(dāng)于寫本書我從頭又學(xué)習(xí)了EF和EF Core并深入探索到一些不為人知的秘密。寫完后不久就開始了審稿,接著編輯那邊將問題統(tǒng)一歸納交由我修改,同時我也秉著對自己負(fù)責(zé)和對讀者負(fù)責(zé)的態(tài)度認(rèn)真去修正文檔中的錯誤,絲毫不敢懈怠,修改了有問題的地方以及添加了部分內(nèi)容,都是在凌晨發(fā)給了編輯(【捂臉】),在這里要對編輯說聲抱歉。以下是我從寫作開始到書正式出版的詳細(xì)記錄。

你必須掌握的Entity Framework 6.x和Core 2.0

書籍名稱如博客標(biāo)題所言,您也可將本書看做是您所不知道的Entity Framework 6.x和 Core 2.0,比如您是否知道EF 6.0如何創(chuàng)建索引呢?比如您又是否知道在EF 6.x中如何正確更新數(shù)據(jù)呢?比如您又是否知道在EF Core中何種情況下即通過lambda表達(dá)式使用Include來進(jìn)行饑餓加載不好使呢?比如您又是否知道在EF Core中通過Find或者FindAsync方法如何進(jìn)行饑餓加載呢?比如您又是否知道EF Core上下文實(shí)例池本質(zhì)是什么呢?這樣的疑問還有太多太多,本書如管中窺豹,帶您一探究竟。本書既面向基礎(chǔ)學(xué)習(xí)者也面向進(jìn)階學(xué)習(xí)者,無論您是自學(xué)還是在項目中用到了EF 6.x抑或是EF Core 2.0,本書將對您或許有一定幫助。

推薦致謝

只見過張善友大哥,與其他幾位大佬素未謀面,不知是否能夠得到大佬們的認(rèn)可,懷著忐忑的心情去找大佬們寫推薦,結(jié)果大佬們很快寫完就交給我了,在此表示感謝,感謝dudu老大、何鎮(zhèn)汐大哥,張善友大哥,趙培(好基友),鄒瓊俊大哥,感謝大佬們在百忙之中抽空為本書做推薦,感謝大佬們對本書的認(rèn)可和支持。這里額外打個小廣告:何鎮(zhèn)汐大哥現(xiàn)作為.NET Core中國項目成員之一,以一己之力開發(fā).NET Core平臺下的應(yīng)用框架(https://github.com/dotnetcore/Util),感謝何鎮(zhèn)汐大哥對.NET Core所作出的貢獻(xiàn),同時也期待有志之士能夠參與進(jìn)來。

寫作目錄

第一篇 1
第 1 章 7
EntityFramework歷史 7
1.1 EntityFramework版本介紹 7
1.2 EntityFramework 領(lǐng)域建模方式 9
1.2.1 Code First 9
1.2.2 Model First 10
1.2.3 Database First 10
1.3 使用EntityFramework Code First 6.x 或Core 2.0的原因 10
1.4 小結(jié) 11
第 2 章 12
數(shù)據(jù)庫表創(chuàng)建和遷移 12
2.1 數(shù)據(jù)庫連接和初始化策略 12
2.1.1 數(shù)據(jù)庫連接 12
2.1.2 數(shù)據(jù)庫初始化策略 15
2.2 約定 17
2.2.1 類型發(fā)現(xiàn) 17
2.2.2 主鍵約定 17
2.2.3 關(guān)系約定 19
2.2.4 復(fù)雜類型約定 20
2.2.5 自定義約定 21
2.3 基于代碼配置(Code-based Configuration Settings) 29
2.4 配置屬性映射和關(guān)系映射 32
2.4.1 屬性映射 32
2.4.2 關(guān)系映射 50
2.4.3 私有化屬性映射 67
2.5 繼承映射策略 69
2.5.1 Table per Hierarchy (TPH) 70
2.5.2 Table per Type (TPT) 70
2.5.3 Table per Concrete class (TPC) 73
2.5.4 Entity Splitting 77
2.5.5 Table Splitting 80
2.6 代碼遷移 82
2.6.1 遷移命令 82
2.6.2 遷移本質(zhì) 91
第 3 章 102
實(shí)體狀態(tài)和數(shù)據(jù)操作 102
3.1 實(shí)體狀態(tài) 102
3.2 數(shù)據(jù)操作 105
3.2.1 數(shù)據(jù)查詢 105
3.2.2 數(shù)據(jù)保存 124
3.2.3 自動生成存儲過程 135
3.3 避免陷阱
3.3.1 導(dǎo)航屬性查詢
3.3.2 分頁查詢?
3.3.3 語義可空
3.3.4 表值函數(shù)
3.3.5 日期操作
3.4 基礎(chǔ)篇實(shí)戰(zhàn) 138
3.4.1 復(fù)雜屬性作為JSON存儲數(shù)據(jù)庫表列 138
第二篇 153
第 4 章 155
上下文管理和變更追蹤原理 155
4.1 上下文生命周期管理 155
4.1.1 基礎(chǔ)模式追溯 155
4.1.2 生命周期追溯 157
4.1.3 進(jìn)化模式追溯 160
4.2 變更追蹤原理 163
4.2.1 快照式變更追蹤(Snapshot based Change Tracking) 163
4.2.2 代理式變更追蹤(Notification based Change Tracking with Proxies) 165
第 5 章 175
變更追蹤原理和日志管理 175
5.1 DetectChanges原理 175
5.1.1 DetectChanges用途 175
5.1.2 調(diào)用DetectChanges方法時機(jī) 177
5.1.3 關(guān)閉自動調(diào)用DetectChanges方法 180
5.1.4 遺忘的二進(jìn)制屬性和復(fù)雜類型 182
5.2 日志記錄 186
5.2.1 ToString打印 186
5.2.2 簡單日志打印 187
5.2.3 結(jié)構(gòu)化日志輸出 190
5.2.4 構(gòu)造塊攔截 192
5.2.5 攔截器異常性能監(jiān)控 197
5.2.6 攔截器解決EF 6.1忽略字符串空格歷史遺留問題 211
5.3 事務(wù) 215
5.4 連接彈性 240
第 6 章 246
并發(fā)沖突 246
6.1 初級版解析 246
6.2 中級版解析 252
6.2.1 客戶端獲勝 253
6.2.2 數(shù)據(jù)庫獲勝 254
6.2.3 客戶端和數(shù)據(jù)庫合并獲勝 255
6.3 高級版解析 256
6.3.1簡單重試策略 257
6.3.2 Polly重試策略 257
第 7 章 262
性能優(yōu)化實(shí)踐 262
7.1 優(yōu)化一:預(yù)編譯視圖 262
7.2 優(yōu)化二:減少首次與數(shù)據(jù)庫交互代碼 266
7.3 優(yōu)化三:NGen安裝EntityFramework程序集 269
7.4 優(yōu)化四:AsNoTracking 271
7.5 優(yōu)化五:DbFunctions/SqlFunctions 271
7.6 優(yōu)化六:緩存 276
7.7 優(yōu)化七:重新編譯查詢 282
7.8 優(yōu)化八:避免’N+1’ Select查詢 287
7.9 優(yōu)化九:添加索引 289
7.10 優(yōu)化十:關(guān)閉回調(diào)DetectChanges方法 293
7.11 優(yōu)化十一:使用異步查詢 296
第 8 章 297
EntityFramework 6.x實(shí)戰(zhàn) 297
8.1 工作單元泛型倉儲模式(Generic Repository and a Unit of Work) 297
8.2 依賴注入泛型倉儲模式(Generic Repository Pattern and Dependency Injection) 321
第三篇 338
第 9 章 340
數(shù)據(jù)庫表創(chuàng)建和遷移 340
9.1 數(shù)據(jù)庫初始化策略 340
9.2 配置屬性映射和關(guān)系映射 344
9.2.1 屬性映射 345
9.2.2 Backing Fields 357
9.2.3 Alternate Keys 362
9.2.4. Shadow Property 363
9.2.5 Owned Entities 368
9.2.6 HasQueryFilter 369
9.2.7 關(guān)系映射 371
9.2.8 繼承映射 393
9.3 代碼遷移 398
9.3.1 控制臺程序遷移 398
9.3.2 Web應(yīng)用程序遷移 400
9.3.3 多個上下文遷移 413
9.3.4 腳手架逆向遷移 417
第 10 章 422
數(shù)據(jù)操作和初始化數(shù)據(jù) 422
10.1 實(shí)體狀態(tài) 422
10.2 數(shù)據(jù)操作 423
10.2.1 數(shù)據(jù)查詢 423
10.2.2 數(shù)據(jù)保存 446
10.3 無連接實(shí)體 452
10.4 初始化數(shù)據(jù) 455
第四篇 459
第 11 章 461
性能優(yōu)化實(shí)踐 461
11.1 AsNoTracking 461
11.2 EF.Functions.Like 463
11.3 自定義標(biāo)量函數(shù) 466
11.4 顯式編譯查詢 470
11.5 上下文實(shí)例池 473
第 12 章 479
查詢實(shí)體元數(shù)據(jù)和模型數(shù)據(jù)驗證 479
12.1 查詢元數(shù)據(jù) 479
12.2 內(nèi)置模型驗證 481
12.3 第三方擴(kuò)展模型驗證 484
第 13 章 488
上下文實(shí)例創(chuàng)建方式 488
13.1 顯式創(chuàng)建上下文實(shí)例 488
13.1.1 帶有構(gòu)造函數(shù)的OnConfiguring方法 488
13.1.2 傳遞連接字符串參數(shù)到構(gòu)造函數(shù) 489
13.1.3 使用不帶依賴注入的DbContextOptions 489
13.2 依賴注入容器創(chuàng)建上下文實(shí)例 490
13.2.1 帶有無參構(gòu)造函數(shù)的DI 490
13.2.2 帶DbContextOptions的DI 491
13.3.3 使用泛型DbContextOptions 491
13.3.4 使用AddDbContext/AddDbContextPool 492
第 14 章 494
實(shí)現(xiàn)多租戶 494
第 15 章 504
捕獲審計數(shù)據(jù) 504
第 16 章 510
變更追蹤策略和日志管理 510
16.1 變更追蹤策略 510
16.1.1 INotifyPropertyChanged 511
16.1.2 INotifyPropertyChanging 514
16.2 日志管理 516
16.2.1 添加控制臺包輸出 516
16.2.2 自定義日志輸出 517
第 17 章 521
xUnit單元測試 521
17.1 控制臺單元測試 522
17.2 NET Core Web應(yīng)用程序單元測試 524
第 18 章 527
事務(wù)和并發(fā)沖突 527
18.1 事務(wù) 527
18.2 并發(fā)沖突 533
18.2.1 初級版解析 534
18.2.2 中級版解析 538
18.2.3 高級版解析 543
第 19 章 550
EntityFramework Core 2.1待發(fā)布 550
19.1 新特性實(shí)現(xiàn)目標(biāo) 550

總結(jié)?

本書是我所理解的EF 6.x和EF Core 2.0,也有我個人的一些思考,若本書能夠?qū)δ兴鶐椭?#xff0c;那么如我寫博客一樣成就感就在于此了,期待本書能夠得到您的認(rèn)可,我會一如既往和大家分享我所得。

原文地址: https://www.cnblogs.com/CreateMyself/p/8655069.html


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結(jié)

以上是生活随笔為你收集整理的《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。