当前位置:  开发笔记 > 编程语言 > 正文

Linq to Sql - 日期时间格式 - YYYY-MMM(2009年3月)

如何解决《LinqtoSql-日期时间格式-YYYY-MMM(2009年3月)》经验,为你挑选了1个好方法。

我想编写一个Linq to Sql查询,它通过Username和DateTime进行计数和分组.我希望DateTime的格式如下"YYYY-MMM"(即2009年3月).

我认为这会工作,但Linq to Sql无法解析ToString"format"参数.

            dc.MyTable
              .GroupBy(r => new
              {
                  Name = r.UserName,
                  YearMonth = r.SomeDateTime.ToString("yyyy-MMM")
              })
              .Select(r => new
              {
                  Name = r.UserName,
                  YearMonth = r.YearMonth,
                  Count = r.Count()
              })
              .OrderBy(r => r.YearMonth)
              .ThenBy(r => r.Name);

有没有人有任何想法/建议?

谢谢.



1> Marc Gravell..:

我想知道你是不是应该这样做"漫长"的方式......

          dc.MyTable
          .GroupBy(r => new
          {
              Name = r.UserName,
              Year = r.SomeDateTime.Year,
              Month = r.SomeDateTime.Month
          })
          .Select(r => new
          {
              Name = r.UserName,
              Year = r.Year,
              Month = r.Month,
              Count = r.Count()
          })
          .OrderBy(r => r.Year)
          .ThenBy(r => r.Month)
          .ThenBy(r => r.Name);

如果您需要格式为字符串,请稍后在UI处执行此操作.通过重建DateTime等,或使用CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(...).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有