相关疑难解决方法(0)

实体框架按日期分组并返回新类

我正在使用.NET和实体框架.我希望按照没有时间部分的日期对表进行分组.

我上课了:

public sealed class QueryItem {
    public int Year { get; set; }
    public int Month { get; set; }
    public int Day { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和方法(我正在使用BLToolkit,如果你想知道什么是DbManager):

protected override IQueryable<QueryItem> InitiateQuery() {
    return
        from query in DbManager.GetTable<SomeTableModel>()
        group query by new { Year = query.CreationDate.Year, Month = query.CreationDate.Month, Day = query.CreationDate.Day }
        into list1
        select new QueryItem {Year = list1.Key.Year, Month = list1.Key.Month, Day = list1.Key.Day};
}
Run Code Online (Sandbox Code Playgroud)

在这个方法中,linq翻译成了这个SQL查询:

SELECT
    [query].[CreationDate]
FROM
    [SomeDatabase.SomeTable] [query]
GROUP BY
    DatePart(Year, [query].[CreationDate]), …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework

8
推荐指数
2
解决办法
2402
查看次数

标签 统计

.net ×1

c# ×1

entity-framework ×1