下面的測試與EF 4.2現在的工作與拋出EF下一個異常4.3實體框架4.3和最小起訂量不能創建的DbContext嘲笑
System.ArgumentException:類型嘲笑必須是接口或者 抽象或非密封類。 ----> System.TypeLoadException: 來自程序集'DynamicProxyGenAssembly2,Version = 0.0.0.0, Culture = neutral,PublicKeyToken = null'的類型爲'Castle.Proxies.DbContext43Proxy' 的方法'CallValidateEntity'重寫了一個 在該組件中不可見。
[Test]
public void CanCreateMoqTest()
{
// Arrange
Mock<DbContext43> mock;
// Act
mock = new Mock<DbContext43>();
// Assert
Assert.NotNull(mock.Object);
}
public class DbContext43:DbContext
{
}
我應該怎麼辦?爲我的DbContext43創建一個接口?
這是4.2和4.3之間的突變嗎?
謝謝!
使用存儲庫和工作單元模式,你不會有這個問題。您也不會將所有代碼都連接到EF。 – TrueWill 2012-02-12 20:47:19
存儲庫與DbContext有時是過度殺傷... – 2012-03-14 01:41:01
我一直在深入包裝我的EF代碼存儲庫模式的路線。您最終創建了自己的數據訪問框架,最終需要更多時間進行維護,而不是我所承認的。除非您正在構建由多個團隊共享的企業框架,並且您有一個致力於維護基礎架構的團隊,否則我建議您不要將EF包裝在存儲庫模式中。 – 2013-06-21 13:03:53