有没有办法可以用LINQ语句获取行数?

时间:2016-09-30 14:49:31

标签: c# entity-framework linq

我一直在使用这个LINQ语句:

 var phrases = await db.Phrases
               .AsNoTracking()
               .ToListAsync();

但我需要的是计算短语中的行数。

我之前从未使用过LINQ。有没有办法可以做到这一点?

2 个答案:

答案 0 :(得分:4)

sync version

var phrasesCount = db.Phrases.Count();

async version(假设这是EF):

var phrasesCount = await db.Phrases.CountAsync();

答案 1 :(得分:1)

Charles提供了有效的答案,但由于您之前从未使用过LINQ,因此很高兴知道.Count()允许您将谓词作为参数传递。

例如,如果你想计算超过30个字符的短语,你可以写这样的东西

var longPhrases = db.Phrases.Count(phrase => phrase.Lenght > 30);