在linq中计算一列

Dot*_*row 1 linq linq-to-entities

如何计算Linq中一列的计数.例如:

select count(productid) from products
Run Code Online (Sandbox Code Playgroud)

我将如何在linq中编写它.

是这样的吗?

var query = (from p in context.products select p).count()
Run Code Online (Sandbox Code Playgroud)

请建议.

Jon*_*eet 6

怎么样:

var count = context.Products.Count(p => p.ProductId != null);
Run Code Online (Sandbox Code Playgroud)

这是假设我理解你想ProductId在计数部分指定的点.这是非常不寻常的有没有是在一个产品排产品编号虽然.如果您只想要行数,只需使用:

var count = context.Products.Count();
Run Code Online (Sandbox Code Playgroud)

如果您追求的是不同的价值观,那么您可以采取以下措施:

var count = context.Products.Select(p => p.ProductId)
                            .Distinct()
                            .Count();
Run Code Online (Sandbox Code Playgroud)