我正忙于分析和保存我的燃气表的数据。
数据来自ftp服务器上的纯文本文件,我有一个控制台应用程序将数据放入数据库。
每个文件都有一个新标题,然后每15分钟有一个新的数据行。数据被obis代码拆分,每个obis代码在数据库中获得一个新行。所以每15分钟就会在数据库中添加6个新行。每小时一个新的标题行等细节线每15分钟按顺序分开。
所以结构是:
标题表1行>详细表每个序列6行(1小时4行6行)
Headerdata
Detail1 seq=0
Detail2 seq=0
Detail3 seq=0
Detail4 seq=0
Detail5 seq=0
Detail6 seq=0
Detail1 seq=1
Detail2 seq=1
Detail3 seq=1
Detail4 seq=1
Detail5 seq=1
Detail6 seq=1
etc....
现在我尝试进行一些验证,然后将数据写入平面表。 但我只得到第一个序列。
我知道这必须更容易,但我在这里开头。
更新
我现在把大部分代码放在方法中。 然后实际的问题就出现了:
我有一个标题数据集合,在每个标题集中我有一个详细信息集合。每个细节都有一个属性序列。
我如何遍历细节选择并按顺序制作单独的组? 我想将集合的标题附加到每个组。
这可以在初始查询中由linq完成:
public static void getMeterdata(string serial, string date, string interval)
{
meterdata = new List<Data_Header>();
using (var db = new GasMeterDataContext())
{
// Query get all headers and their details and put in a list
meterdata = (from h in db.Data_Header
.Where(h => h.Dh_Serial == serial && h.Dh_Timestamp.Contains(date))
.Include(d => d.Data_Detail)
orderby h.Dh_Timestamp
select h).ToList();
}
}
或者在列表中以最简单的方式进行第二次linq查询。
我是C#和Linq的新手。