【发布时间】:2012-10-01 12:24:46
【问题描述】:
我有一个连接两个表的 linq 查询(实际数据库中没有关系)
关系是: 公司 1 - n 电话
var miniCompanies =
(from companies in db.Companies
join phones in db.Phones on companies.Id equals phones.CompanyId
select new
{
companies.Name,
phones.Phone,
}).ToList().Distinct();
这会返回类似:
----------------------------
company1 | 12345 |
----------------------------
company1 | 23456 |
----------------------------
company2 | 43242 |
----------------------------
company2 | 34234 |
----------------------------
company2 | 65442 |
----------------------------
我只需要获取 Phones 表中的第一个而不是所有内容
如何做到这一点?
编辑:也许我不清楚要为此感到抱歉。
我说:
----------------------------------------
公司1 | 12345 |
----------------------------------------
公司2 | 43242 |
----------------------------------------
我想要每家公司的第一部手机
【问题讨论】:
-
如果您的 DBML 中有关系,您可以这样做:
var miniCompanies = db.Companies.Select(c => new { c.Name, c.Phones.First().Phone}); -
那并不是 company2 的第一部手机。我假设您的意思是任何电话。
-
不,那是打字错误,我会改正的
-
第一个没有订单就没有意义