Linq:连接两个共享一个列名的表(使用不同的数据)
本文关键字:数据 连接 两个 共享 一个 Linq | 更新日期: 2023-09-27 18:08:29
在stackoverflow上有几个关于这个主题的问题,但是我找不到我问题的答案。
我已经尝试将表COSTS与表CREDITS连接起来。我的问题是,我想在连接后访问"标签"属性(存在于两个表上)。这显然是不可能的了,因为它们在连接期间被"合并"了。我必须声明,尽管属性'label'共享相同的名称,但它们不包含相同的信息。
为了解决这个问题,我尝试使用'let'关键字,但不幸的是,智能感知不识别我的'costLabel'变量(最后一行)。
var query = from cost in COSTS
let costLabel = cost.Label
join credit in CREDITS
on cost.IdCredit equals credit.IdCredit into joined
from j in joined.DefaultIfEmpty()
select new SearchCredit
{
CreditLabel = j.Label,
CostLabel = costLabel
};
使用
var query = from cost in COSTS
join credit in CREDITS
on cost.IdCredit equals credit.IdCredit into joined
from j in joined.DefaultIfEmpty()
select new SearchCredit
{
CreditLabel = j.Label,
CostLabel = cost.Label
};