[C#.NET][Entity Framework] 實作 DAL 共用方法的交易

上個月,同事問我 DAL 裡的 CUD 方法若需要共用,交易要怎麼寫?

首先,要思考處理資料庫的 Data Access Layer 裡的 CUD方法,該不該共用?

  •  以使用者案例的角度切入看 DAL,它不應該有機會共用,因為每一個作業流程的資料異動方式不會一樣。
  •  設計 DAL 方法時,不應該用 Table 的 CRUD 作為 DAO 的 Method,相信我,那只會讓事情變得更複雜而已。
  •  共用 DAL 方法,就得把檢查機制放在 DAL 方法。

[C#.NET][Unit Test] 採用 LocalDB 進行集成測試

集成測試主要是測試個元件之間的互動是否如預期,在這個階段的測試,我會把程式進入點 UI Layer 換成單元測試專案,由測試專案取代之,為什麼不是直接從UI測,原因很簡單,因為 UI 的變化太快了,一方面為了減少因 UI 改變而衍生出額外的工作,另一方面則為了提高測試程式碼的重用性,所以我會從 BLL 測試

三層式架構,物件彼此之間的關係,如下圖:

[C#.NET] 動態產生 AS400 對應的 POCO/DTO

手動建立 OR-M 的 POCO 可是一件苦差事,針對 EF 不支援的資料庫,透過這個小技巧,可以大大提升程式設計師的生產力、降低錯誤發生,團隊使用 EF開發資料庫,但 AS400 並沒有支援 EF的 Provider,怎麼辦,我再也不會回頭使用弱型別的 DataTable 了,這時候 Dapper 就派上用場,請參考:https://www.dotblogs.com.tw/yc421206/2015/04/20/as400_connect_provider

[ASP.NET] 多國語系 - 本地資源和全域資源

ASP.NET 支援兩種類型的資源檔,本地資源和全域資源,利用資源檔建立多語系的應用程式

資源檔格式

Xml 格式,以Key/Value方式存放資料

本地資源檔

  • 用於特定頁面
  • 放在 App_LocalResources
  • 資源檔格式:
    以login.aspx為例,預設本地端資源檔規則為 web stite name.resx,其他國家語言則是 web stite name.culture.resx,範例如下:
    預設語系:login.aspx.resx
    英文美國:login.aspx.en-US.resx
    英文英國:login.aspx.en-GB.resx

[ASP.NET] ObjectDataSource of Cache

Cache 對岸翻成緩存,我們翻成快取。
對於一些不常變化的資料,我們會將他暫存下來,暫存的方式有很多,這裡要提的是 DataSource Control,它本身就提供了快取功能,它
 

[Visual Studio 2015] Telerik Client API and jQuery IntelliSense

開始之前,先說明這並非 VS2015 專有功能,不同的版本 VS IDE 有不同的步驟

問題情境:

  1. 使用 Telerik UI for ASP.NET AJAX 開發網站時,沒有 JavaScript IntelliSense
  2. Telerik UI for ASP.NET AJAX 已經包含了 jQuery,不想要在專案裡再次參考 jQuery 解決方法
  3. Update-$telerik.$ 無法使用 IntelliSense

[C#.NET] 開發夥伴的除錯利器 NLog - 使用 NLog.Elmah target 整合至 Elmah(2)

續上篇:http://www.dotblogs.com.tw/yc421206/archive/2015/10/12/153536.aspx

有關 Elmah 的設定請參考:http://www.dotblogs.com.tw/yc421206/archive/2014/05/22/145209.aspx

Nuget 上有一套 NLog.Elmah 的套件,顧名思義這是用來整合 Elmah 的套件,NLog 不像 Elmah 那樣有漂亮的報表可以看,藉由這個套件可以輕鬆讓 NLog 整合至 Elmah,簡單來講就是在 NLog 的 target 增加一個 Elmah