我使用實體框架4.1的數據庫訪問,並希望單元測試下面的代碼:您如何使用痣來查詢EntityFramework 4.1中的數據庫痣DbContext?
// Get all the entities including children
using (MyContext context = new MyContext())
{
return context.EmployeeProfiles.Include("EmployeeProperties").ToList();
}
我使用的痣但是我堅持去痣了數據庫的依賴。實體框架中的哪一點我應該開始冒出來。
我正在關注這個example,但它適用於LINQ-to-SQL。
我也在考慮調試/跟蹤實體框架以確定在調用數據庫之前攔截出哪個函數。 但是,似乎沒有可用於Entity Framework 4.1追蹤的源代碼。見discussion。
任何人都可以指導我哪些功能我應該在DbContext中剔除,這樣我就可以獲得EmployeeProfiles的列表了嗎?
有趣的問題,因爲我想知道是否有必要單元測試這種類型的代碼。我假設這是一個存儲庫的一部分,基本上是像'GetFullEmployeeProfiles'這樣的方法的實現,並且您希望編寫一個單元測試以確認您實際上是否使用'EmployeeProperties'填充了'EmployeeProfiles'。 – Rudi
是的代碼是存儲庫的一部分,我們正在對該區域進行單元測試。但是,我希望進一步進行單元測試,並鼓勵實體框架,並返回我的預期實體。 我發現嘲笑DBContext最接近的信息不使用痣: http://romiller.com/2010/09/07/ef-ctp4-tips-tricks-testing-with-fake-dbcontext/ – walleye