C# 使用投影查询的当前周的数据总和

C# 使用投影查询的当前周的数据总和,c#,nhibernate,hibernate-criteria,nhibernate-projections,C#,Nhibernate,Hibernate Criteria,Nhibernate Projections,我想在数据库中为本周总共创建一个字段。例如,如果今天是星期三,我想计算当前的星期一到星期三,如果是星期四,那么是星期一到星期四。。我将如何使用NHibernate中的投影查询来实现这一点?在下面的代码中,我将如何对数据进行分组,使其仅显示当前周的总和。数据库中日期的字段名为MyDate,类型为datetime DateTemplate.Criteria = DetachedCriteria.For(typeof(MyBill)); DateTemplate.Criteria.SetP

我想在数据库中为本周总共创建一个字段。例如,如果今天是星期三,我想计算当前的星期一到星期三,如果是星期四,那么是星期一到星期四。。我将如何使用NHibernate中的投影查询来实现这一点?在下面的代码中,我将如何对数据进行分组,使其仅显示当前周的总和。数据库中日期的字段名为MyDate,类型为datetime

DateTemplate.Criteria = DetachedCriteria.For(typeof(MyBill));


    DateTemplate.Criteria.SetProjection(
    Projections.ProjectionList()
          .Add(Projections.Sum(Projections.Conditional
                            (Restrictions.Eq("PayType", "ABC"),
                                  Projections.Constant(1), Projections.Constant(0))), "GCashSales")
                .Add(Projections.Sum(Projections.Conditional
                            (Restrictions.Eq("PayType", "DEF"),
                                  Projections.Constant(1), Projections.Constant(0))), "GCreditSales"));

最简单的方法可能是在查询之外计算开始/结束日期,并在投影列表中添加一个
Between
限制

.Add(Restrictions.Between("MyDate", startDate, endDate))
但是我如何计算(知道)本周的开始和结束日期呢?你能帮我吗?这篇文章对你有帮助吗?