C# 如何在LINQ中使用where和like子句计算列数
这是我的ms sql查询-C# 如何在LINQ中使用where和like子句计算列数,c#,linq,C#,Linq,这是我的ms sql查询- select COUNT(*) from InvoiceDetails where InvoiceId like '%XXX-SSS%' 如何在LINQ中编写相同的查询 var count=_dbcontent.InvoiceDetails.Where(dr => dr.InvoiceId.Contains("XXX-SSS")).Count; Count将对所有记录进行计数这非常简单 var yourEtityObject = (from t In
select COUNT(*) from InvoiceDetails where InvoiceId like '%XXX-SSS%'
如何在LINQ中编写相同的查询
var count=_dbcontent.InvoiceDetails.Where(dr => dr.InvoiceId.Contains("XXX-SSS")).Count;
Count
将对所有记录进行计数这非常简单
var yourEtityObject =
(from t In InvoiceDetails
where
t.InvoiceId.Contains("XXX-SSS")
select t).Count();
试着跟随
InvoiceDetails.Count(el => el.InvoiceId.Contains("XXX-SSS"))
like运算符类似于Linq中的contains函数。所以,在过滤之后,获取记录数
YourDBContext.YourTableModel.Count(x=>x.YourColumn.Contains("YourValue"));
但这仅在列为字符串类型时有效。尝试以下操作
InvoiceDetails.Count(a=>a.InvoiceId.Contains(“XXX-SSS”)
请不要只发布SQL并请求转换。至少显示一个类模型。另外,告诉您针对的是哪种类型的LINQ(到实体?),并展示您自己的第一次努力。它们向我们阐明的内容比您想象的要多。ToList
不计算可枚举项中的条目。您仍然需要一个.count
或.count()
之后。我仍然不确定ToList
是否合适。如果您有许多条目与Where
匹配,则当ToList
将所有条目向下拉到客户端时,客户端和数据库之间会有不必要的流量。
YourDBContext.YourTableModel.Count(x=>x.YourColumn.Contains("YourValue"));