计算数据表中一组logging的第一次login和最后一次登出之间的持续时间
我正在读取一个使用ADO.Net的Excel文档到数据集中。 数据集包含一组包含login和注销时间的员工logging作为Datatable。 我需要将员工的第一次login和最后登出时间作为基于员工ID和date的logging集中的最终logging。 这是我的示例数据:
Emp Id Name Login Logout 12345 RAMACHANDRAN 7/30/2013 8:40 7/30/2013 10:40 12345 RAMACHANDRAN 7/30/2013 12:30 7/30/2013 14:20 12345 RAMACHANDRAN 8/01/2013 18:10 8/01/2013 20:20 12345 RAMACHANDRAN 8/01/2013 20:40 8/01/2013 22:00 12346 RAVI 8/03/2013 12:30 8/03/2013 14:20 12346 RAVI 8/03/2013 18:10 8/03/2013 20:20
我需要计算持续时间的最终logging
Emp Id Name Login Logout Duration 12345 RAMACHANDRAN 7/30/2013 8:40 7/30/2013 14:20 5:40 12345 RAMACHANDRAN 8/01/2013 18:10 8/01/2013 22:00 3:50 12346 RAVI 8/03/2013 12:30 8/03/2013 20:20 7:50
使用Linq来查询这个数据集是最好的方法吗? 哪种方式是最好的
像这样的东西:
dt.GroupBy(l => new {l.EmpId, l.Login.Date}, (key, g)=> new { EmpId = key.EmpId, Name = g.First().Name, Login = g.Min(d => d.Login), Logout = g.Max(d => d.Logout), Duration = g.Min(d => d.Login) - g.Max(d => d.Logout) });
试试这个,我不得不用linq和list一样
var ListValues = (from fDate in db.tblLog select fDate).Tolist(); foreach (var item in ListValues) { DateTime in = Convert.ToDateTime(inDate ); DateTime out = Convert.ToDateTime(outDate ); TimeSpan ts = in - out; var duration = ts.TotalHours; }
- 为什么当我使用没有OleDBConnection对象的OleDbDataAdapter对象时,.NET 2.0应用程序在.NET 4.0下崩溃?
- 间歇性问题 – OleDbConnection.Open()抛出System.Data.OleDb.OleDbException:未指定的错误
- C#Excel查询问题
- 使用ADO 3.5将数据从Excel导入到64位应用程序中
- 服务/消费OData接口的entity framework的替代scheme
- 如何强迫ADO.NET推断Excel列的types为String而不是Double?
- 使用C#根据Excel检索列名
- 为什么一个ADO.NET Excel查询工作,而另一个不工作?
- ADO.NET +大量插入+ Excel + C#=“不好的时间”?