Linq:加入共享一个列名的2个表(具有不同的数据)

时间:2015-08-18 17:35:45

标签: c# sql linq join linq-to-sql

关于stackoverflow的这个主题有几个问题,但我无法找到问题的答案。

我试图将表COSTS与表CREDITS一起加入。我的问题是我想要访问'标签'连接后的属性(存在于两个表中)。这显然是不可能的,因为他们已经合并了#39;在加入期间。 我必须声明,尽管这些属性标有'共享相同的名称,它们不包含相同的信息。

为了解决这个问题,我试图使用' let'关键字,但不幸的是,智能感知并不能识别我的费用标签。变量(最后一行)。

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
                    };

1 个答案:

答案 0 :(得分:2)

使用此

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
                };