如何使用LINQ中的where和like子句对列进行计数

时间:2016-01-18 08:48:56

标签: c# linq

这是我的ms-sql查询 -

  select COUNT(*) from InvoiceDetails where InvoiceId like '%XXX-SSS%'

如何在LINQ中编写相同的查询

5 个答案:

答案 0 :(得分:2)

尝试,

var count=_dbcontent.InvoiceDetails.Where(dr => dr.InvoiceId.Contains("XXX-SSS")).Count;

Count会计算所有记录

答案 1 :(得分:2)

InvoiceDetails.Count(x => x.InvoiceId.Contains("XXX-SSS"));

答案 2 :(得分:1)

尝试以下

InvoiceDetails.Count(el => el.InvoiceId.Contains("XXX-SSS"))

答案 3 :(得分:1)

like运算符类似于Linq中包含的函数。所以在过滤后得到记录数。

YourDBContext.YourTableModel.Count(x=>x.YourColumn.Contains("YourValue")); 

但是只有当columne是字符串类型时才会有效。

答案 4 :(得分:0)

这很简单。

var yourEtityObject = 
(from t In InvoiceDetails 
where 
t.InvoiceId.Contains("XXX-SSS")
select t).Count();