《ASP.NET MVC 企業級實戰》數據庫
========== ========== ==========
[做者] (中) 鄒瓊俊
[出版] 清華大學出版社
[版次] 2017年04月 第1版
[印次] 2019年08月 第6次 印刷
[訂價] 89.00元
========== ========== ==========設計模式
【第01章】 跨域
(P021) 緩存
只有在 Lambda 有一個輸入參數時,括號纔是可選的,不然括號是必需的。安全
使用空括號指定零個輸入參數。服務器
【第02章】 多線程
(P037) 框架
EDM 中利用特性來標識實體映射到具體數據數據庫中的 TableName ,屬性對應的具體表的 ColumnName ,還有主鍵、外鍵、默認值等,都用特性來標識。而後經過反射技術, 從 EF 中 edmx 元數據獲取數據庫表的結構的描述,再根據增刪改查操做方法,就能夠產生對應的 SQL 語句,而後發送給 ADO.NET 負責從數據庫中讀取數據,返回給咱們的 EF 。異步
(P042) 分佈式
禁用延遲的方法有 ToList() 、 FirstOrDefault() 、 Include() 等。
(P048)
IQueryable 其實繼承了 IEnumerable 。
EF 不支持複雜類型 (如實體) 的直接檢索,只能用簡單類型,好比經常使用的標量類型 string 、 int 和 guid 。
【第03章】
(P083)
控制器的約定大於配置 :
1. Controller 放到 Controllers 文件夾中,而且命名方式以 Controller 結尾;
2. 每一個 Controller 都對應 View 中的一個文件夾,文件夾的名稱跟 Controller 名相同。 Controller 中的方法名都對應一個 View 視圖 (非必須,可是建議這麼作) 並且 View 的名字跟 Action 的名字相同;
3. 控制器必須是非靜態類,而且要實現 IController 接口;
4. Controller 類型能夠放到其餘項目中;
視圖的相關約定 :
1. 全部的視圖必須放到 Views 目錄下;
2. 不一樣控制器的視圖用文件夾進行分割,每一個控制器都對應一個視圖目錄;
3. 通常視圖名字跟控制器的 Action 相對應 (非必須) ;
4. 多個控制器公共的視圖放到 Shared 目錄中;
【第04章】
(P085)
dynamic 型與 object 型的區別是在使用時它會自動根據數據類型轉換,而 object 型則須要本身去強制轉換。
(P087)
ViewBag 其實就是 ViewData ,只是多了一層 Dynamic 控制,能夠說它是另外一種訪問 ViewData 的方式。理論上 ViewBag 要比 ViewData 慢一點點,可是幾乎能夠忽略,因此使用任何方式徹底取決於我的的愛好。
(P090)
當前臺的 C# 代碼有多行時,若是這些代碼是連續的,中間沒有 HTML 代碼隔斷,那麼只須要開頭的一個 @ 符號便可;不然 HTML 代碼以後被隔斷的 C# 代碼開頭須要加上 @ 符號。
(P115)
@Html.Editor / @Html.Display 能夠經過讀取特性值生成 HTML 。
【第05章】
(P134)
Routing 的做用是 :
1. 匹配傳入的請求 (不匹配服務器物理文件),並將請求映射到 「控制器」 的具體操做 「Action 方法」 和 「參數」 中;
2. 調用並執行對應控制器類的 Action 方法;
{controller} 和 {action} 是特定參數名,不能改。
(P135)
不能有兩個連續的 URL 參數,參數之間必須有字符隔開。
(P141)
推薦使用 @Scripts.Render 的形式,由於它支持壓縮合並和服務器緩存。
(P147)
區域路由註冊優先於普通路由註冊。
【第06章】
(P181)
@Html.AntiForgeryToken() 只能添加在 Html.BeginForm() 形式聲明的表單中,純 HTML 的 <form> 標籤表單是不行的。
【第07章】
(P204)
一個 Session 表明一個單線程的單元操做。 ISessionFactory 是線程安全的,不少線程能夠同時訪問它。 ISession 不是線程安全的,表明與數據庫之間的一次操做。 ISession 經過 ISessionFactory 打開,在全部的工做完成後須要將其關閉。 ISessionFactory 一般是一個線程安全的全局對象,只須要被實例化一次。
SessionFactory 的建立很佔用系統資源,通常在整個應用程序中只建立一次。
(P207)
NHibernate 映射文件以 .hbm.xml 結尾。
【第09章】
(P256)
不必花太多的時間去鑽研工做中用不到的東西,由於一我的的時間和精力都是有限的,說句現實的,你學的任何東西、只有真正用到了、有了產出才能體現出價值,對企業而言尤爲如此。
(P262)
WCF 是 Windows 平臺上開發分佈式應用最佳的實踐方式。
(P270)
每一個 WCF 服務必須實現至少一個服務契約。使用服務契約必需要引用命名空間 System.ServiceModel 。
(P271)
ServiceHost 類型 : 當 IIS 和 WAS 做爲宿主程序時, IIS 和 WAS 會自動建立 ServiceHost 類型。
(P279)
使用 js 的異步操做不支持跨域訪問,也就是說 js 異步調用操做必須和 WebAPI 在同一個站點上。
(P307)
在進行技術選型的時候,不要追求最新的,而應當選擇既能知足需求又運行很是穩定的。由於最新的技術不但相關資料少,並且也沒有通過項目的實際驗證,學習成本很高,風險較大。
【第10章】
(P325)
搜索引擎通常不會執行 JS 、不會發 Post 請求、不會提交表單。
(P327)
SQL Server 的專業版才支持全文檢索功能。
(P333)
永遠不要對 bin / debug 下的東西作直接修改,而是要改 「源文件」 。
(P356)
儘可能不要用 JavaScriptSerializer ,由於性能差,徹底能夠用 Newtonsoft.Json 來代替。
【第11章】
(P366)
框架則是各類設計模式的集合。設計模式是解決某一類問題的方法。
【第12章】
(P434)
在清楚需求以後,咱們首先要作的就是技術選型。
(P435)
使用 EF Database First 方式須要注意的是 : 全部表必須設置主鍵,表和表之間的關係必須經過主外鍵進行關聯。
(P439)
新建解決方案文件夾能夠打包一些項目,讓整個項目變得更清晰。
(P459)
DbContext 默認支持事務,當實例化一個新的 DbContext 對象時會建立一個新的事務,當調用 SaveChanges 方法時事務會提交。
(P465)
jQuery EasyUI 是一組基於 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目標就是幫助 Web 開發者更輕鬆地打造出功能豐富而且美觀的 UI 界面。開發者不須要編寫複雜的 JavaScript ,也不須要對 CSS 樣式有深刻的瞭解,須要瞭解的只有一些簡單的 HTML 標籤。