Entity framework 跨多个表的自定义实体
我急需一些英孚专家的建议。除了在DDD中跨多个表之外,如何创建自定义实体?据我所知,有3种可能的解决方案:Entity framework 跨多个表的自定义实体,entity-framework,Entity Framework,我急需一些英孚专家的建议。除了在DDD中跨多个表之外,如何创建自定义实体?据我所知,有3种可能的解决方案: 在模型中创建自定义实体并为其添加DefiningQuery,它充当该实体的视图,本质上是在纯SQL中连接多个表 将自定义实体创建为具有其他实体作为其属性的POCO类。使用LINQ进行查询时,首先将需要的数据投影到匿名对象中,然后投影到该自定义实体中 在DB中创建一个跨多个表的视图,并将其添加到模型中 第一个选项将创建对特定数据源实现(Oracle)的依赖,因为我们需要编写Oracle SQ
请分享您的意见,哪种解决方案对您来说更合理。如果您的数据库表正确配置了您可以使用的一对一关系,请多谢。如果没有一对一的关系,从EF的角度来看,表的生成是不确定的
除了您提到的选项之外,您还可以尝试在EDMX文件中使用映射到自定义POCO的-ESQL查询。这就像隐藏在映射内部的第一个和第二个选项的组合(独立于存储)。问题是QueryView只支持ESQL的子集,因此它实际上取决于您要映射的内容。如果您的数据库表正确配置了一对一关系,则可以使用它。如果没有一对一的关系,从EF的角度来看,表的生成是不确定的 除了您提到的选项之外,您还可以尝试在EDMX文件中使用映射到自定义POCO的-ESQL查询。这就像隐藏在映射内部的第一个和第二个选项的组合(独立于存储)。问题是QueryView只支持ESQL的子集,所以它实际上取决于您想要映射什么