|
Post by account_disabled on Mar 21, 2024 10:39:12 GMT 2
在这种情况下带规范和不带规范的查询计划是相同的。为了使这一切顺利进行我们将查询中使用的匿名类转换为常规类即引入中间数据模型并在规范中使用它们。为什么是中间因为它们不仅包含方法输出模型中的字段还包含我们仅用于数据过滤的字段在这种形式下将此模型转移到更高的级别是不合理的。中间模型继承了接口它列出了我们的规范工作的字段。我引入它是为了使规范能够与实体类和中间模型一起工作而无需更改选择标准即这是一个纯粹的技术界面。 现在在存储库的基础结构级别该方法将如下所示选择器将加入到将加入到 亚美尼亚电报号码数据 来到中的中的帐户。座位让电话号码查询查询。过滤器选择器返回等待复制代码。其中查询计划哈希左连接哈希条件嵌套循环左连接使用对乘客进行索引扫描过滤器仅在预订上使用进行索引扫描哈希在航班上进行顺序扫描限制对进行顺序扫描过滤器和返回名字姓氏示例。在乘客上使用进行索引扫描索引过滤器子计划限制对进行顺序扫描选项内联优化表达式变形。 在存储库中方法的参数中我们可以使用方法从我们的规范中通过以各种可能的方式组合它们来获取它们。对于它们的非与或操作我们将得到至少可能的搜索表达式组合其中是中间模型的字段数量是二进制组合的数量。因此当使用传统方法时请求直接传递到存储库我们必须将所有这些组合放入单独的方法中。好处是显而易见的我们将编写更少的代码。我们可以避免编写规范并限制自己只使用存储库中的表达式。
|
|