我正在使用Linq2SQL進行數據訪問的項目。該項目由一個ASP.NET MVC應用程序和8個類庫組成。大多數類庫都有自己的L2S數據類。作爲我正在做的工作的一部分,我試圖讓測試中的各種組件介紹一些穩定性清理代碼庫,它目前大量使用靜態類和方法,並且控制器具有靜態DataContexts始終使用。如何抽象Linq2SQL的可測試性
我該如何重構L2S的使用情況,以便測試控制器的操作?
我已經在應用程序中引入了依賴注入來分離一些其他服務,但我不希望DataContext作爲控制器的依賴項屬性,因爲我想控制DataContexts及其DataLoadOptions的實例化。
我曾嘗試過的一件事是利用L2S生成的部分類,並向DataContext添加了一個接口,但是我發現抽象層冒進了應用程序,而不是停留在類庫中。它並不覺得自己是正確的做事方式,而且維持這種做法會很痛苦。這個方法有沒有人有過特殊的成功或失敗?
這將從LINQ到SQL的抽象,但它也將刪除它的所有功能。有了這個方案,我們又回到了輸入數據集。 – usr 2012-03-31 13:45:05
@usr - 我不這麼認爲.. – 2012-03-31 15:47:02
我沒有看到執行查詢的方法。大多數有趣的應用程序都需要查詢,而不僅僅是過濾和orderby。你需要一個通用的查詢工具。 – usr 2012-03-31 15:48:38