c# - Linq Join 将所有字段从一侧保留,无需显式列表
问题描述
我的代码需要两个数据库集的多个内部连接。一组非常大(约 20 列)并且所有字段都是相关的。有没有办法输出所有字段而不明确列出它们?
我的代码的简化版本(db
是我的上下文):
var x = db.BigFact
.join(db.Lookup1, l => l.Lookup1Id, r => r.Lookup1Id
(l, r) => new {l.Col1, l.Col2 … l.Col20, r.OneName}
)
...
左侧的所有字段的代表列表。重复编写它们很乏味,特别是考虑到有代表“BigFact”的强类型类。
我正在寻找类似 SQL 的语法:
SELECT l.*, r.OneName
FROM BigFact as l
JOIN Lookup1 as r
ON l.Lookup1Id = r.Lookup1Id
解决方案
你可以这样做:
var x = db.BigFact
.join(db.Lookup1, l => l.Lookup1Id, r => r.Lookup1Id
(l, r) => new { Left = l, r.OneName}
)
推荐阅读
- assembly - 在 64 位机器上 QWORD 的大小是多少?
- c# - 如何在 mvc 中使用 ajax 将数据加载到数据表中
- r - 绘制具有公共 x 轴的多个折线图时,如何分别为点着色?
- python-3.x - Python脚本返回函数未定义错误
- c# - 当玩家与障碍物碰撞时如何使相机抖动?
- php - 如何从 php 会话中获取 mysql user_id?
- css - 如何在点击时使用 Vue 来切换/停用活动的 html 类?
- c - fork()子执行命令奇怪地输出
- c# - 如何使用 int 检查 MySQL 数据库中是否存在某些内容,或者是否有任何替代方法?
- django - 在内联表单集的表单中,我可以自定义 can_delete 生成的字段吗?