[VSTS] 實作 Build vNext 自動部署到 Azure 網站

 VSTS(Visual Studio Team Service),是微軟雲端版的 CI (Continuous integration) Server ,以前叫 Visual Studio Online,近幾年,VSTS | TFS 改變的很大,尤其新版的 Build vNext,使用起來更有彈性、更容易。我需要用它來完成,程式碼版控→自動化測試→自動化部署(部署到測試機),下圖出自董大偉老師。

就算你只有一個人,也建議應該要有 CI Server,來幫你完成這些事情
...繼續閱讀 »

[SQL Project] 依條件部署資料庫

資料庫專案範本,已經成為我在開發專案時,不可或缺的資料庫管理工具,善用它提供的機制,可降低出錯的機率。

Predeployment | Postdeployment Scripts 它是資料庫專案所提供的語法,是一種SQLCMD,現在我要利用它來部署我的開發 | 測試環境,資料庫專案有 DDL,在不同的條件,呼叫不同的 DML

...繼續閱讀 »

[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

...繼續閱讀 »