当前位置: 首页 > 知识库问答 >
问题:

LINQ Count()带大小写时

史弘博
2023-03-14

我有一个SQL Server查询,我使用LINQ用C#重写了这个查询。

在T-SQL查询中,有一个这样的和:

SELECT Date, 
   Name, 
   SUM(1)*(CASE WHEN Name='Sam' && Date=GETDATE() THEN 0.5 ELSE 1 END) AS 
   ItemCount, 
   SUM(ProductCount) AS ProductCount 
FROM ProductList
GROUP BY Date, Name

我的Linq

var list = _context.ProductList
   .GroupBy(t => new {t.Date, t.Name})
   .Select(i => new ShipmentList()
   {
      Date = i.Key.Created,
      Name = i.Key.Name,
      ItemCount = i.Count(),
      ProductCount = i.Sum(x => x.ProductCount)
   }).ToList();

当after countitemcount=I.count()时,我无法完成此情况。我试过了:

ItemCount=I.Count()*I.这次我无法访问名称和日期ItemCount=I.Count()*Y=>Y.Name bla bla我再次可以访问任何列。

我该怎么解决这个?

共有1个答案

葛景龙
2023-03-14

是否需要条件计数?由于Linq-To-Entities中不支持带有谓词的Enumerable.count重载,您可以尝试以下方法:

var list=_context.ProductList
    .GroupBy(t=> new{ t.Date, t.Name})
    .Select(g => new ShipmentList
    { 
        Date = g.Key.Date, 
        Name = g.Key.Name, 
        ItemCount= g.Select(x => x.Name == "Sam" && x.Date == DateTime.Now ? 0.5 : 1.0)
                    .Sum() , 
        ProductCount = g.Sum(x => x.ProductCount)
    })
    .ToList();

再见,那个条件对我来说没有多大意义。但这与您的sql查询相同。

 类似资料:
  • 本文向大家介绍SQL 大写和小写,包括了SQL 大写和小写的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 编写HTML5文档类型时,正确的方法是什么? 要么 问题答案: 在HTML中,DOCTYPE不区分大小写。以下DOCTYPE均有效: 在XML序列化(即XHTML)中,不需要DOCTYPE,但是如果使用它,则应大写: 请参阅 HTML5的XML序列化,又名“XHTML5”: 请注意,如果您不在XHTML文档中使用大写字母,则XML解析器将返回语法错误。 第二部分可以用小写(),大写()

  • 我在浏览openjdk时,注意到字符串中有一个奇怪的代码路径。equalsIgnoreCase,特别是方法区域匹配: 我理解关于调整特定字母表以检查小写是否相等的评论,但我想知道为什么还要检查大写?为什么不全部小写?

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰