簡體   English   中英

實體框架到 LINQ 日期搜索

[英]Entity framework to LINQ date search

我正在嘗試構建一個 EF 到 LINQ 查詢,我需要按一周中的每一天對屬性求和 - 周一、周二等所有記錄的總和。

由於 EF 到 LINQ 無法調用 C# 方法,我無法訪問我試圖過濾的 DateTime 屬性的 Date 組件 (DateTime.Date),所以我當前的實現如下所示:

 _monday = startDate.Date; //I know this is monday due to grid filters
 _tuesday = startDate.AddDays(1).Date;
 _wednesday = startDate.AddDays(2).Date;
...
 monday = context.Entites.Where(x=>x.Date == _monday).Sum(s => s...);
 tuesday = context.Entities.Where(x=>x.Date == _tuesday).Sum(s => s...);

但是,我收到的數據並不完全正確,並且分配了錯誤日期的值。

有沒有辦法讓這個查詢與我目前的方法一起工作? 查詢是大量的並且充滿了其他過濾器(我知道不會干擾日期匹配),就像我正在處理的數據集一樣,所以在這里使用 DbFunctions 不是一個選項(除非它根本不影響性能)。

您可以按以下方式執行此操作

_mondayStartTime = startDate.Date; //I know this is monday due to grid filters
_mondayEndTime = _mondayStartTime.AddDays(1).AddMilliseconds(-1);
 _tuesdayStartTime = startDate.AddDays(1).Date;
 _tuesdayEndTime = _tuesdayStartTime.AddDays(1).AddMilliseconds(-1);
...
 monday = context.Entites.Where(x=> _mondayStartTime <= x.Date && x.Date <= _mondayEndTime ).Sum(s => s...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM