所以我的数据库架构非常糟糕:(
所以现在我需要编写用于从表数据获取的逻辑,我需要从这些数据创建我的类对象的List - 但是按月分开
我有桌子,我有列日期(2016-01-12 00:00:00.000这是格式)
所以现在我想获取数据 - 按日期分组(因为如果我有1天的一些记录 - 我希望获得一些属性的总和1天)
我需要创建数组(List):
这是我尝试的:
public List<DriverPayroll> GetAllPayrolls(int pageNumber, int showOnPage, string DriverNumber)
{
Database db = new Database();
var loads = db .TableA.Where(i => i.Driver == DriverNumber).Skip(pageNumber * showOnPage).GroupBy(o => o.Data);
List<DriverPayroll> payrols = new List<DriverPayroll>();
DriverPayroll payRoll = new DriverPayroll();
int month = loads.First().First().Data.Month;
foreach (var load in loads)
{
if(load.First().Data.Month != month)
{
payrols.Add(payRoll);
payRoll = new DriverPayroll();
}
DriverWordDay workDay = new DriverWordDay();
workDay.Date = load.First().Data;
var tt = workDay.Date.Month;
LoadData newLoad = new LoadData();
foreach (var data in load)
{
newLoad.Stops += data.Stops;
newLoad.Base += data.Base;
newLoad.Attempts += data.Stops_Atempts;
newLoad.Total += data.Total;
}
workDay.Loads.Add(newLoad);
payRoll.WorkDays.Add(workDay);
}
return payrols;
}
如果我理解正确 - 这里我做的很蠢:
if(d.First().Data.Month != month)
{
classA .Add(classB);
classB = new ClassB();
}
因为我只是替换内存中的指针,对吧?
而且我也不喜欢这一切。
你能帮我改进一下这段代码吗?
谢谢