我迫切需要一些 EF 专家的建议。您将如何创建自定义实体而不是跨越 DDD 中的多个表?据我所知,有3种可能的解决方案:
在模型中创建自定义实体并为其添加 DefiningQuery,它充当该实体的视图,本质上在纯 SQL 中连接多个表,
创建一个自定义实体作为具有其他实体作为其属性的 POCO 类。使用 LINQ 查询时,首先将您需要的数据投射到匿名对象中,然后投射到该自定义实体中,
在数据库中创建一个跨越多个表的视图并将其添加到模型中
第一个选项将创建对特定数据源实现 (Oracle) 的依赖,因为我们需要编写 Oracle 投诉 SQL 查询。
第二种解决方案中的自定义对象是在模型和 TBH 之外定义的,这是我最喜欢的一个,除了必须了解 LINQ 的人之外,它看不到任何真正的缺陷:)
第三种选择意味着创建大量的数据库视图,我不确定我们的 DBA 会不会太高兴。
请分享您的意见,哪种解决方案对您来说听起来更合理。谢谢