如何使用 SQL Server 2019 容器

以往都是使用 localdb 來進行開發和自動化測試,但它只能支援 Windows 平台,若是要跨平台,SQL Server 容器是選項之一,接下來我們就來看看要怎麼使用。

跟資料庫有關的測試可以稱操作資料庫的動作是倉儲(Repository)物件的單元測試,或者是,商業邏輯物件和倉儲物件的集成測試,不管怎麼叫,基本上對於資料庫的操作案例也應該會涵蓋到;原則上,案例不會多,至少會有一個,再重要性來決定要不要增加。

...繼續閱讀 »

通過 Microsoft.Extensions.DependencyInjection,多個實作如何註冊相同的介面

當有一個介面(抽象),有多個實作(細節),在 Autofac 和 Unity 預設都有相關的解決方案,可以注入到屬性、方法、建構函數,這都需要使用特殊的 Attribute 來描述參數,比如 Autofac 的 [KeyFilter]、Unity 的 [Dependency],這將會讓你的物件變得不單純,必須要特殊的用法才會工作,接下來我會分享實作的方式,要怎麼選就看你了

...繼續閱讀 »

如何使用 Microsoft.Extensions.DependencyInjection for Autofac

微軟提供的 DI Container (Microsoft.Extensions.DependencyInjection ),實作了 Microsoft.Extensions.DependencyInjection.Abstractions 抽象,讓我們也可很輕易的換成我們習慣的 DI Container,比如說,內建的 Microsoft.Extensions.DependencyInjection 沒有提供掃描 Assembly 的自動註冊,這時,在應用程式的進入點換成其它的 DI Container,比如 Autofac,就可以使用自動註冊。

只有增加使用 Autofac DI Container 的註冊,其餘的不用動,像是物件的依賴關係,取出物件方式。

...繼續閱讀 »

如何使用 DI Container for Microsoft.Extensions.DependencyInjection

Microsoft.Extensions.DependencyInjection 是微軟實作的 DI Container,在 ASP.NET Core 大量的使用,無形之間已經成為一種開發標準,過去,還沒有使用 DI Container 時,我會使用靜態屬性來集中管理物件的生命週期,現在,集中管理物件的生命週期,我又多了一個選擇。

Microsoft.Extensions.DependencyInjection 支援 .NET Fx 4.6.1 以上

...繼續閱讀 »