下面的测试与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