选择整个第一个表,并用连接表覆盖一列

时间:2015-01-09 11:53:36

标签: c# mysql database linq join

加入之前的查询

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

这让我用左 data.idodbiorca, data.name, data.lastname, data.number
number列已不再使用,因为这些列已移至新表格,这样我就可以为number的每一行分配更多db.odbiorca个。{/ p>

我尝试加入这些表格

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)表和number表中的一列u(db.umowy),覆盖旧的。

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

我需要什么

~ select k AND number = u.number

现在想一想,它会从新表中选择一个号码,我需要所有这些号码。

如果你不得不问,我确实尝试寻找解决方案,但失败了,或者我问我的问题是错误的......

1 个答案:

答案 0 :(得分:0)

你真是太近了......

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();