【发布时间】:2018-02-04 06:04:23
【问题描述】:
我正在制作一个与队列相关的小型应用程序,但我遇到了一个问题。 我有上下文数据
public class DATA_ABONENT_ARCHIVE
{
[Key]
public int ID { get; set; }
public int NUM { get; set; }
public string PREFIX { get; set; }
public string FULL_NUM { get; set; }
public DateTime DATETIME_REGISTR { get; set; }
public DateTime DATE_REGISTR { get; set; }
public TimeSpan TIME_REGISTR { get; set; }
public int SPR_USLUGI_ID { get; set; }
public Nullable<int> SPR_LGOTA_ID { get; set; }
public DateTime DATETIME_START_SERVICE { get; set; }
public DateTime DATE_START_SERVICE { get; set; }
public TimeSpan TIME_START_SERVICE { get; set; }
public int SPR_WINDOW_ID { get; set; }
public int SPR_OPERATOR_ID { get; set; }
public string FIO { get; set; }
public DateTime DATETIME_STOP_SERVICE { get; set; }
public DateTime DATE_STOP_SERVICE { get; set; }
public DateTime TIME_STOP_SERVICE { get; set; }
public int SPR_STATUS_ID { get; set; }
public int PRIORITET { get; set; }
public int PRERECORD { get; set; }
public Nullable<DateTime> START_TIMEOUT { get; set; }
public Nullable<DateTime> STOP_TIMEOUT { get; set; }
public int SPR_BASE_ID { get; set; }
}
在控制器中,我必须进行选择并获得一个模型列表,其中包含 3 个日期字段、当天的人数、平均等待时间
public class AverageExpectationViewModel
{
public ReportResultModel ReportResult { get; set; }
public IEnumerable<AverageWaitingModel> AverageWaitingOutgoing { get; set; }
}
输出模型包含两个消息字段和一个列表
我愿意
IEnumerable<AverageWaitingModel> AverageWaiting = Db_Resource.DATA_ABONENT_ARCHIVE
.Where(c => c.SPR_BASE_ID == Convert.ToInt32(data.BranchId))
.Where(c => c.DATE_REGISTR >= startData)
.Where(c => c.DATE_REGISTR <= endData)
.GroupBy(b=>b.DATE_REGISTR)
.Select(c => new AverageWaitingModel
{
DateRegistr = c.Key,
Count = c.Count(),
//Waiting = (Math.Round(c.TIME_START_SERVICE.TotalMinutes - c.TIME_REGISTR.TotalMinutes, 2))
})
.ToList();
我这样做了,但我不知道如何在铲土时更进一步并找到平均值,也许你有一些很好的想法如何做到这一点
【问题讨论】:
标签: asp.net linq entity-framework-6