我的代码需要两个数据库集的几个内部联接。一组很大(约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
答案 0 :(得分:3)
您可以这样做:
var x = db.BigFact
.join(db.Lookup1, l => l.Lookup1Id, r => r.Lookup1Id
(l, r) => new { Left = l, r.OneName}
)
答案 1 :(得分:1)
输出所有字段而没有明确列出它们吗?
只需放入下面显示的原始项目,例如FullItem
。
(l, r) => new {l.Col1, l.Col2, FullItem = l, r.OneName}
这将创建一个具有Col1
,Col2
,OneName
和FullItem
字段的新实体。取消引用FullItem
之类的项,例如FullItem.Col3
甚至是FullItem.Col1
。