【发布时间】:2013-02-02 13:35:14
【问题描述】:
我一直在努力寻找我正在解决的这个任务问题的答案,尽管早上没有在这里搜索。 我已经查看了 MIN/MAX 子句,但似乎无法正确地适应我的场景。
我正在执行这个简单的 LINQ 查询,搜索列匹配的所有行
using (DataClasses2DataContext db = new DataClasses2DataContext())
{
var routes = (
from txcalllines in db.TxcAllLines
where
txcalllines.LineName == searchString
select txcalllines);
return routes.ToList();
}
这会返回这些结果:
FILE LINE START FINISH
output_txc_45486m.xml 486 North Station Friswell Place
SVRAYAO486-20121008-22264.xml 486 Dunoon Inveraray
SVRAYAO486-20121008-22265.xml 486 Dunoon Inveraray
SVRAYAO486-20121008-22266.xml 486 Dunoon Inveraray
SVRGMB04860-20120103-5774.xml 486 BURY RADCLIFFE
SVRGMB04860-20120103-5775.xml 486 BURY RADCLIFFE
SVRYNAO486-20120217-44588.xml 486 Selby Bus Stn Pollington Circular
问题是,运行这个查询会返回几行相同的路由(可以看到LINE、START、FINISH是一样的),这里我只想返回每条路由的第一个匹配行。
所以想要的结果是:
FILE LINE START FINISH
output_txc_45486m.xml 486 North Station Friswell Place
SVRAYAO486-20121008-22264.xml 486 Dunoon Inveraray
SVRGMB04860-20120103-5774.xml 486 BURY RADCLIFFE
SVRYNAO486-20120217-44588.xml 486 Selby Bus Stn Pollington Circular
【问题讨论】:
-
好点,我不打算调用 .ToList() 两次。
-
它只是将它放在一个列表中,我的客户端应用程序可以很好地阅读它。 (以上代码来自 WCF 服务)
标签: .net sql c#-4.0 linq-to-sql