选择整个第一个表,然后用连接的表覆盖一列

本文关键字:覆盖 一列 第一个 选择 然后 连接 | 更新日期: 2023-09-27 18:36:49

加入前的查询

var data = (from k in db.odbiorca 
where k.idodbiorca == 49
select k).FirstOrDefault();

这让我使用
data.idodbiorca, data.name, data.lastname, data.number .
但是number列不再使用,因为它们已移至新表,这使我可以为每行db.odbiorca分配一个number

我尝试加入这些表

var data = (from k in db.odbiorca
join u in db.umowy on k.idodbiorca equals u.id_odbiorcy
where k.idodbiorca == 49
select k).FirstOrDefault();

但这让我仍然只选择k表,我需要整个k(db.odbiorca)表和u(db.umowy)表中number一列,覆盖旧表。

编写select new { }并一一编写我想要的所有列,对我来说不是一个好的解决方案(还有几列,但我只是为了示例简化了它)

我需要什么

~ select k AND number = u.number

现在想想,它只会从新表中选择一个数字,我有点需要所有这些数字。

如果你必须问,我

确实尝试寻找解决方案,但失败了,或者我问错了我的问题......

选择整个第一个表,然后用连接的表覆盖一列

你离得太近了...

var data = (from k in db.odbiorca.Where(o=>o.idodbiorca == 49)
    join u in db.umowy on k.idodbiorca equals u.id_odbiorcy
    select {k, u.numer}).FirstOrDefault();