我正在为我的Entity Framework模型使用ADO.NET Mocking Context Generator插件。我还没有开始使用模拟,只是尝试修复生成的实体和上下文类,使应用程序像以前一样运行,没有异常。我已经修复了T4模板以支持SaveChanges方法。
现在我遇到了另一个问题:当我尝试访问任何导航属性时,它被设置为null。 从DB表继承的所有原始字段都已设置且正确。
所以我正在做的是以下
using (var context = MyContext())
{
var order = context.Orders.Where(p => p.Id == 7);
var product = order.Products;
}
在这种情况下,product设置为null。但是在使用默认代码生成器时并非如此,它用于返回实际的产品对象。
感谢您提出任何建议!
答案 0 :(得分:0)
我试图修复t4模板并没有任何帮助。所以我放弃了ADO.NET Mocking Context Generator模板并切换到ADO.NET POCO实体生成器模板。我按照这里提到的步骤http://slappyza.wordpress.com/2010/08/08/getting-the-entity-framework-to-generate-an-interface-for-mocking/ 但是我没有使用RhinoMock进行测试,而是使用了Moq库。
它终于奏效了!