c# - ASP.NET CORE 中的 Projection 和 Join 表有什么区别
问题描述
它们是一样的吗?哪一种是从多个表中查询数据的更好方法。我更喜欢使用投影方法,因为它非常简单。
投影
https://benjii.me/2018/01/expression-projection-magic-entity-framework-core/
连接表
解决方案
如果您在谈论实体框架,如果它是一个选项,并且您只是关注外键(即导航属性),则选择可能会更好。
但是,如果您需要使用不寻常的方法进行连接,特别是在相关数据上,那么连接有时是更好(或有时唯一)的选择。
例如,将每天的登录计数与每天的注册计数相比较,将使用联接,因为登录计数和注册计数使用两个完全不相关的表并在日期加入,而不是用户 ID。
获取属于所有活动用户的活动列表,您可以使用 Select 来完成,因为“属于”关系由 FK 表示。
最后,不要忘记 Select 允许您从单个表中获取数据子集,而 join 要求您将两个表连接在一起然后过滤到一个子集。
推荐阅读
- javascript - 有什么方法可以读取我们包含在 img 标签的 src 中的脚本/图像的响应标头
- android - 调用另一个片段的视图寻呼机索引上的片段的 onActivityResult
- php - PDO 多个查询工作,除了 SELECT 查询
- r - 使用 R 中的多元线性回归的截距创建新数据框
- android - ANDROID 安装在设备中时应用程序崩溃:JSException:找不到变量:Promise (RN 0.57.1)
- javascript - 如何忽略空的href和图像
- react-native - 触摸文本输入略微向上移动屏幕反应原生
- angular - 无法使用单个表单和子组件表单工作的 Angular Material Stepper
- flutter - 即使在 setState 之后,复选标记也不会显示在颤振复选框上
- unit-testing - 如何在 ReverseProxy 中测试标头?