Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
IoTSharp
IoTSharp
提交
78ccf964
IoTSharp
项目概览
IoTSharp
/
IoTSharp
8 个月 前同步成功
通知
15
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
IoTSharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
78ccf964
编写于
8月 06, 2020
作者:
麦壳饼
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整最新遥测数据的获取源
上级
e400bd69
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
25 deletion
+19
-25
IoTSharp/Storage/EFStorage.cs
IoTSharp/Storage/EFStorage.cs
+12
-12
IoTSharp/Storage/ShardingStorage.cs
IoTSharp/Storage/ShardingStorage.cs
+7
-13
未找到文件。
IoTSharp/Storage/EFStorage.cs
浏览文件 @
78ccf964
...
...
@@ -33,9 +33,8 @@ namespace IoTSharp.Storage
{
using
(
var
_context
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
{
var
devid
=
from
fx
in
(
from
t
in
_context
.
TelemetryData
where
t
.
DeviceId
==
deviceId
orderby
t
.
DateTime
group
t
by
t
.
KeyName
into
g
select
new
{
KeyName
=
g
.
Key
,
td
=
g
.
OrderByDescending
(
x
=>
x
.
DateTime
).
Take
(
1
).
First
()})
select
new
TelemetryDataDto
()
{
DateTime
=
fx
.
td
.
DateTime
,
KeyName
=
fx
.
KeyName
,
Value
=
fx
.
td
.
ToObject
()
};
var
devid
=
from
t
in
_context
.
TelemetryLatest
where
t
.
DeviceId
==
deviceId
select
new
TelemetryDataDto
()
{
DateTime
=
t
.
DateTime
,
KeyName
=
t
.
KeyName
,
Value
=
t
.
ToObject
()
};
return
devid
.
ToListAsync
();
}
...
...
@@ -45,13 +44,10 @@ namespace IoTSharp.Storage
{
using
(
var
_context
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
{
var
devid
=
from
fx
in
(
from
t
in
_context
.
TelemetryData
where
t
.
DeviceId
==
deviceId
&&
keys
.
Split
(
','
,
' '
,
';'
).
Contains
(
t
.
KeyName
)
orderby
t
.
DateTime
group
t
by
t
.
KeyName
into
g
select
new
{
KeyName
=
g
.
Key
,
td
=
g
.
OrderByDescending
(
x
=>
x
.
DateTime
).
Take
(
1
).
First
()
})
select
new
TelemetryDataDto
()
{
DateTime
=
fx
.
td
.
DateTime
,
KeyName
=
fx
.
KeyName
,
Value
=
fx
.
td
.
ToObject
()
};
var
devid
=
from
t
in
_context
.
TelemetryLatest
where
t
.
DeviceId
==
deviceId
&&
keys
.
Split
(
','
,
' '
,
';'
).
Contains
(
t
.
KeyName
)
select
new
TelemetryDataDto
()
{
DateTime
=
t
.
DateTime
,
KeyName
=
t
.
KeyName
,
Value
=
t
.
ToObject
()
};
return
devid
.
ToListAsync
();
}
...
...
@@ -113,8 +109,12 @@ namespace IoTSharp.Storage
tdata
.
FillKVToMe
(
kp
);
_dbContext
.
Set
<
TelemetryData
>().
Add
(
tdata
);
});
await
_dbContext
.
SaveChangesAsync
();
result
=
true
;
var
result1
=
await
_dbContext
.
SaveAsync
<
TelemetryLatest
>(
msg
.
MsgBody
,
msg
.
DeviceId
,
msg
.
DataSide
);
result1
.
exceptions
?.
ToList
().
ForEach
(
ex
=>
{
_logger
.
LogError
(
$"
{
ex
.
Key
}
{
ex
.
Value
}
{
Newtonsoft
.
Json
.
JsonConvert
.
SerializeObject
(
msg
.
MsgBody
[
ex
.
Key
])}
"
);
});
_logger
.
LogInformation
(
$"新增(
{
msg
.
DeviceId
}
)遥测数据更新最新信息
{
result1
.
ret
}
"
);
}
}
catch
(
Exception
ex
)
...
...
IoTSharp/Storage/ShardingStorage.cs
浏览文件 @
78ccf964
...
...
@@ -37,12 +37,9 @@ namespace IoTSharp.Storage
{
using
(
var
_context
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
{
var
devid
=
from
fx
in
(
from
t
in
_context
.
TelemetryData
where
t
.
DeviceId
==
deviceId
orderby
t
.
DateTime
group
t
by
t
.
KeyName
into
g
select
new
{
KeyName
=
g
.
Key
,
td
=
g
.
OrderByDescending
(
x
=>
x
.
DateTime
).
Take
(
1
).
First
()
})
select
new
TelemetryDataDto
()
{
DateTime
=
fx
.
td
.
DateTime
,
KeyName
=
fx
.
KeyName
,
Value
=
fx
.
td
.
ToObject
()
};
var
devid
=
from
t
in
_context
.
TelemetryLatest
where
t
.
DeviceId
==
deviceId
select
new
TelemetryDataDto
()
{
DateTime
=
t
.
DateTime
,
KeyName
=
t
.
KeyName
,
Value
=
t
.
ToObject
()
};
return
devid
.
ToListAsync
();
}
...
...
@@ -52,13 +49,10 @@ namespace IoTSharp.Storage
{
using
(
var
_context
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
{
var
devid
=
from
fx
in
(
from
t
in
_context
.
TelemetryData
where
t
.
DeviceId
==
deviceId
&&
keys
.
Split
(
','
,
' '
,
';'
).
Contains
(
t
.
KeyName
)
orderby
t
.
DateTime
group
t
by
t
.
KeyName
into
g
select
new
{
KeyName
=
g
.
Key
,
td
=
g
.
OrderByDescending
(
x
=>
x
.
DateTime
).
Take
(
1
).
First
()
})
select
new
TelemetryDataDto
()
{
DateTime
=
fx
.
td
.
DateTime
,
KeyName
=
fx
.
KeyName
,
Value
=
fx
.
td
.
ToObject
()
};
var
devid
=
from
t
in
_context
.
TelemetryLatest
where
t
.
DeviceId
==
deviceId
&&
keys
.
Split
(
','
,
' '
,
';'
).
Contains
(
t
.
KeyName
)
select
new
TelemetryDataDto
()
{
DateTime
=
t
.
DateTime
,
KeyName
=
t
.
KeyName
,
Value
=
t
.
ToObject
()
};
return
devid
.
ToListAsync
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录