我们发现了一个命名查询的问题,该查询在共享相同基本实体的实体属性上执行多个包含。由于图片更清晰,我对模型进行了简化查看,由于某些显而易见的原因,我无法在此处发布。基本上,我们有一个“TaskTarget”,它是一个基本实体,其子项是“Office”和“House”。这两种实体类型由Task实体引用。
当我们尝试通过包含House和Office来检索一组Task实体时,会出现问题。基本上,我们的命名查询是这样的:
return new EntityQuery<Task>().Where(t => t.Id < 1000)
.Include(t => t.House)
.Include(t => t.Office);
我们按预期收到任务列表,但未正确包含众议院/办公室。它们仍然是空实体。我们检查了数据库上的基础查询(通过Devart的DotConnect的Oracle)是否正确,是否有适当的连接等情况。
我不知道这里描述的简单模型是否足以展示问题,我们的模型当然更复杂但我们觉得继承是问题的根源,因为我们没有在涉及不相关的实体时包括问题。
在以前的DevForce版本中观察到了这个问题,我们尝试使用DevForce 2012 7.2.6并且它仍然存在。