Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ADO.NET模拟上下文生成器时未设置导航属性_.net_Entity Framework 4_Ado.net_Mocking - Fatal编程技术网

使用ADO.NET模拟上下文生成器时未设置导航属性

使用ADO.NET模拟上下文生成器时未设置导航属性,.net,entity-framework-4,ado.net,mocking,.net,Entity Framework 4,Ado.net,Mocking,我正在为我的实体框架模型使用ADO.NET模拟上下文生成器插件。我还没有开始使用mock,只是尝试修复生成的实体和上下文类,使应用程序像以前一样运行,没有异常。我已经修复了T4模板以支持SaveChanges方法 现在我遇到了另一个问题:当我尝试访问任何导航属性时,它被设置为null。 从DB table继承的所有基本字段都已设置并正确无误 所以我现在做的是 using (var context = MyContext()) { var order = context.Orders.

我正在为我的实体框架模型使用ADO.NET模拟上下文生成器插件。我还没有开始使用mock,只是尝试修复生成的实体和上下文类,使应用程序像以前一样运行,没有异常。我已经修复了T4模板以支持SaveChanges方法

现在我遇到了另一个问题:当我尝试访问任何导航属性时,它被设置为null。 从DB table继承的所有基本字段都已设置并正确无误

所以我现在做的是

using (var context = MyContext())
{
      var order = context.Orders.Where(p => p.Id == 7);
      var product = order.Products;
}
在这种情况下,product设置为null。但在使用默认代码生成器时,情况并非如此,它用于返回真实的产品对象


谢谢你的建议

我试图修复t4模板,但没有任何帮助。所以我放弃了ADO.NET模拟上下文生成器模板,转而使用ADO.NET POCO实体生成器模板。我遵循了这里提到的步骤 但我没有使用RhinoMock进行测试,而是使用了Moq库

终于成功了