使用linq to sql获取有限的行选择,可能没有连接

时间:2014-02-14 22:05:40

标签: c# sql linq

我想使用linq从表中获取计数。我有一个包含条形码的表格foo。酒吧桌有barProperty。在sql我可能会做一个连接,但我想知道是否有一个很好的linq方式说,获取foo中的所有行,其中foo的bar有一个barProperty为73. sql中的东西类似于

SELECT COUNT(*) FROM foo
LEFT JOIN ON bar.barid=foo.barid
where bar.barProperty=73;

我可能做错了(我是linq的新手)但我有一个linq到sql dbml,我已经与appropriete id建立了联系。使用父子。

2 个答案:

答案 0 :(得分:2)

我相信你正在寻找以下内容;

int recordsCount = (from x in foo
             join y in bar
             on x.barid equals y barid
             where x.barProperty == 73).Count();

我很确定你可以在没有连接的情况下做到这一点,但我更像是一个LINQ to Objects的人,所以我只是给出了最标准的例子。

答案 1 :(得分:1)

如果您正确设置了上下文,则根本不需要加入:

var NumberOfFoos = context.Bars.First(x => x.Id == 73).Foos.Count();