diff --git a/.gitignore b/.gitignore
index eaeda31..cd15659 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,10 +16,8 @@ bld/
/packages
*.user
/Data
-/Log
+[Ll]og/
+[Cc]onfig/
*.log
*.nuspec
-*.nupkg
-/BinTest
-/BinUnitTest
-/NewLife.Remoting.Extensions/Properties
+*.nupkg
\ No newline at end of file
diff --git a/NewLife.Remoting.Extensions/Properties/launchSettings.json b/NewLife.Remoting.Extensions/Properties/launchSettings.json
new file mode 100644
index 0000000..78cb55c
--- /dev/null
+++ b/NewLife.Remoting.Extensions/Properties/launchSettings.json
@@ -0,0 +1,12 @@
+{
+ "profiles": {
+ "NewLife.Remoting.Extensions": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "applicationUrl": "https://localhost:55961;http://localhost:55962"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Samples/IoTZero/Entity/Model.xml b/Samples/IoTZero/Entity/Model.xml
index 5f49e3b..192b80f 100644
--- a/Samples/IoTZero/Entity/Model.xml
+++ b/Samples/IoTZero/Entity/Model.xml
@@ -1,206 +1,206 @@
<?xml version="1.0" encoding="utf-8"?>
-<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model2023.xsd" xmlns="https://newlifex.com/Model2023.xsd">
+<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model202309.xsd" Document="https://newlifex.com/xcode/model" xmlns="https://newlifex.com/Model202309.xsd">
<Option>
- <!--输出目录-->
- <Output>.\</Output>
- <!--是否使用中文文件名。默认false-->
- <ChineseFileName>False</ChineseFileName>
- <!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
- <BaseClass>Entity</BaseClass>
- <!--命名空间-->
- <Namespace>IoT.Data</Namespace>
<!--类名模板。其中{name}替换为Table.Name,如{name}Model/I{name}Dto等-->
<ClassNameTemplate />
<!--显示名模板。其中{displayName}替换为Table.DisplayName-->
<DisplayNameTemplate />
- <!--用于生成拷贝函数的模型类。例如{name}或I{name}-->
+ <!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
+ <BaseClass>Entity</BaseClass>
+ <!--命名空间-->
+ <Namespace>IoT.Data</Namespace>
+ <!--输出目录-->
+ <Output>.\</Output>
+ <!--是否使用中文文件名。默认false-->
+ <ChineseFileName>False</ChineseFileName>
+ <!--用于生成Copy函数的参数类型。例如{name}或I{name}-->
<ModelNameForCopy />
<!--带有索引器。实现IModel接口-->
<HasIModel>False</HasIModel>
- <!--模型类模版-->
- <ModelClass />
- <!--模型接口模版-->
- <ModelInterface />
+ <!--可为null上下文。生成String?等-->
+ <Nullable>False</Nullable>
<!--数据库连接名-->
<ConnName>IoT</ConnName>
+ <!--模型类模版。设置后生成模型类,用于接口数据传输,例如{name}Model-->
+ <ModelClass />
<!--模型类输出目录。默认当前目录的Models子目录-->
<ModelsOutput>.\Models\</ModelsOutput>
+ <!--模型接口模版。设置后生成模型接口,用于约束模型类和实体类,例如I{name}-->
+ <ModelInterface />
<!--模型接口输出目录。默认当前目录的Interfaces子目录-->
<InterfacesOutput>.\Interfaces\</InterfacesOutput>
<!--用户实体转为模型类的模型类。例如{name}或{name}DTO-->
<ModelNameForToModel />
<!--命名格式。Default/Upper/Lower/Underline-->
<NameFormat>Default</NameFormat>
- <!--生成器版本-->
- <Version>11.8.2023.0524</Version>
- <!--帮助文档-->
- <Document>https://newlifex.com/xcode/model</Document>
<!--魔方区域显示名-->
<DisplayName>设备管理</DisplayName>
<!--魔方控制器输出目录-->
<CubeOutput>../../IoTZero/Areas/IoT/</CubeOutput>
</Option>
- <Table Name="Product" Description="产品。设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="Code" DataType="String" Description="编码。ProductKey" />
- <Column Name="Enable" DataType="Boolean" Description="启用。开发中/已发布" />
- <Column Name="DeviceCount" DataType="Int32" Description="设备数量" />
- <Column Name="CreateUser" DataType="String" Description="创建人" Model="False" Category="扩展" />
- <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
- <Column Name="UpdateUser" DataType="String" Description="更新人" Model="False" Category="扩展" />
- <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
- <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="Code" Unique="True" />
- </Indexes>
- </Table>
- <Table Name="Device" Description="设备。归属于某个产品下的具体设备。物联网平台为设备颁发产品内唯一的证书DeviceName。设备可以直接连接物联网平台,也可以作为子设备通过网关连接物联网平台。">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="Code" DataType="String" Description="编码。设备唯一证书DeviceName,用于设备认证,在注册时由系统生成" />
- <Column Name="Secret" DataType="String" Description="密钥。设备密钥DeviceSecret,用于设备认证,注册时由系统生成" />
- <Column Name="ProductId" DataType="Int32" Description="产品" />
- <Column Name="GroupId" DataType="Int32" Map="DeviceGroup@Id@Name@GroupPath" Description="分组" />
- <Column Name="Enable" DataType="Boolean" Description="启用" />
- <Column Name="Online" DataType="Boolean" Description="在线" />
- <Column Name="Version" DataType="String" Description="版本" />
- <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
- <Column Name="Uuid" DataType="String" Length="200" Description="唯一标识。硬件标识,或其它能够唯一区分设备的标记" />
- <Column Name="Location" DataType="String" Description="位置。场地安装位置,或者经纬度" Category="登录信息" />
- <Column Name="Period" DataType="Int32" Description="心跳周期。默认60秒" Category="参数设置" />
- <Column Name="PollingTime" DataType="Int32" Description="采集间隔。默认1000ms" Category="参数设置" />
- <Column Name="Logins" DataType="Int32" Description="登录次数" Category="登录信息" />
- <Column Name="LastLogin" DataType="DateTime" Description="最后登录" Category="登录信息" />
- <Column Name="LastLoginIP" DataType="String" Description="最后IP。最后的公网IP地址" Category="登录信息" />
- <Column Name="OnlineTime" DataType="Int32" Description="在线时长。总时长,每次下线后累加,单位,秒" Category="登录信息" />
- <Column Name="RegisterTime" DataType="DateTime" Description="激活时间" Category="登录信息" />
- <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
- <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
- <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="Code" Unique="True" />
- <Index Columns="ProductId" />
- <Index Columns="Uuid" />
- <Index Columns="UpdateTime" />
- </Indexes>
- </Table>
- <Table Name="DeviceGroup" Description="设备分组。物联网平台支持建立设备分组,分组中可包含不同产品下的设备。通过设备组来进行跨产品管理设备。" BaseType="EntityTree">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="ParentId" DataType="Int32" Description="父级" />
- <Column Name="Sort" DataType="Int32" Description="排序" />
- <Column Name="Devices" DataType="Int32" Description="设备总数" />
- <Column Name="Activations" DataType="Int32" Description="激活设备" />
- <Column Name="Onlines" DataType="Int32" Description="当前在线" />
- <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
- <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
- <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="ParentId,Name" Unique="True" />
- <Index Columns="Name" />
- </Indexes>
- </Table>
- <Table Name="DeviceOnline" Description="设备在线">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="SessionId" DataType="String" Description="会话" />
- <Column Name="ProductId" DataType="Int32" Description="产品" />
- <Column Name="DeviceId" DataType="Int32" Description="设备" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
- <Column Name="GroupPath" DataType="String" Description="分组" />
- <Column Name="Pings" DataType="Int32" Description="心跳" />
- <Column Name="Delay" DataType="Int32" Description="延迟。网络延迟,单位ms" />
- <Column Name="Offset" DataType="Int32" Description="偏移。客户端时间减服务端时间,单位s" />
- <Column Name="LocalTime" DataType="DateTime" Description="本地时间" />
- <Column Name="Token" DataType="String" Length="200" Description="令牌" />
- <Column Name="Creator" DataType="String" Description="创建者。服务端设备" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" />
- <Column Name="Remark" DataType="String" Length="500" Description="备注" />
- </Columns>
- <Indexes>
- <Index Columns="SessionId" Unique="True" />
- <Index Columns="ProductId" />
- <Index Columns="UpdateTime" />
- </Indexes>
- </Table>
- <Table Name="DeviceHistory" Description="设备历史。记录设备上线下线等操作">
- <Columns>
- <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
- <Column Name="DeviceId" DataType="Int32" Description="设备" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="Action" DataType="String" Description="操作" />
- <Column Name="Success" DataType="Boolean" Description="成功" />
- <Column Name="TraceId" DataType="String" Description="追踪。用于记录调用链追踪标识,在APM查找调用链" />
- <Column Name="Creator" DataType="String" Description="创建者。服务端设备" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" />
- <Column Name="Remark" DataType="String" Length="2000" Description="内容" />
- </Columns>
- <Indexes>
- <Index Columns="DeviceId,Id" />
- <Index Columns="DeviceId,Action,Id" />
- </Indexes>
- </Table>
- <Table Name="DeviceProperty" Description="设备属性。设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。一个设备有多个属性,名值表">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="DeviceId" DataType="Int32" Description="设备" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="NickName" DataType="String" Description="昵称" />
- <Column Name="Type" DataType="String" Description="类型" />
- <Column Name="Value" DataType="String" Length="-1" Description="数值。设备上报数值" />
- <Column Name="Unit" DataType="String" Description="单位" />
- <Column Name="Enable" DataType="Boolean" Description="启用" />
- <Column Name="TraceId" DataType="String" Description="追踪。用于记录调用链追踪标识,在APM查找调用链" Model="False" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="DeviceId,Name" Unique="True" />
- <Index Columns="UpdateTime" />
- </Indexes>
- </Table>
- <Table Name="DeviceData" Description="设备数据。设备采集原始数据,按天分表存储">
- <Columns>
- <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
- <Column Name="DeviceId" DataType="Int32" Description="设备" />
- <Column Name="Name" DataType="String" Master="True" Description="名称。MQTT的Topic,或者属性名" />
- <Column Name="Kind" DataType="String" Description="类型。数据来源,如PostProperty/PostData/MqttPostData" />
- <Column Name="Value" DataType="String" Length="2000" Description="数值" />
- <Column Name="Timestamp" DataType="Int64" Description="时间戳。设备生成数据时的UTC毫秒" />
- <Column Name="TraceId" DataType="String" Description="追踪标识。用于记录调用链追踪标识,在APM查找调用链" Model="False" Category="扩展" />
- <Column Name="Creator" DataType="String" Description="创建者。服务端设备" Model="False" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="DeviceId,Id" />
- <Index Columns="DeviceId,Name,Id" />
- <Index Columns="DeviceId,Kind,Id" />
- </Indexes>
- </Table>
+ <Tables>
+ <Table Name="Product" Description="产品。设备的集合,通常指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的ProductKey。">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="Code" DataType="String" Description="编码。ProductKey" />
+ <Column Name="Enable" DataType="Boolean" Description="启用。开发中/已发布" />
+ <Column Name="DeviceCount" DataType="Int32" Description="设备数量" />
+ <Column Name="CreateUser" DataType="String" Description="创建人" Model="False" Category="扩展" />
+ <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
+ <Column Name="UpdateUser" DataType="String" Description="更新人" Model="False" Category="扩展" />
+ <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
+ <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="Code" Unique="True" />
+ </Indexes>
+ </Table>
+ <Table Name="Device" Description="设备。归属于某个产品下的具体设备。物联网平台为设备颁发产品内唯一的证书DeviceName。设备可以直接连接物联网平台,也可以作为子设备通过网关连接物联网平台。">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="Code" DataType="String" Description="编码。设备唯一证书DeviceName,用于设备认证,在注册时由系统生成" />
+ <Column Name="Secret" DataType="String" Description="密钥。设备密钥DeviceSecret,用于设备认证,注册时由系统生成" />
+ <Column Name="ProductId" DataType="Int32" Description="产品" />
+ <Column Name="GroupId" DataType="Int32" Map="DeviceGroup@Id@Name@GroupPath" Description="分组" />
+ <Column Name="Enable" DataType="Boolean" Description="启用" />
+ <Column Name="Online" DataType="Boolean" Description="在线" />
+ <Column Name="Version" DataType="String" Description="版本" />
+ <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
+ <Column Name="Uuid" DataType="String" Length="200" Description="唯一标识。硬件标识,或其它能够唯一区分设备的标记" />
+ <Column Name="Location" DataType="String" Description="位置。场地安装位置,或者经纬度" Category="登录信息" />
+ <Column Name="Period" DataType="Int32" Description="心跳周期。默认60秒" Category="参数设置" />
+ <Column Name="PollingTime" DataType="Int32" Description="采集间隔。默认1000ms" Category="参数设置" />
+ <Column Name="Logins" DataType="Int32" Description="登录次数" Category="登录信息" />
+ <Column Name="LastLogin" DataType="DateTime" Description="最后登录" Category="登录信息" />
+ <Column Name="LastLoginIP" DataType="String" Description="最后IP。最后的公网IP地址" Category="登录信息" />
+ <Column Name="OnlineTime" DataType="Int32" Description="在线时长。总时长,每次下线后累加,单位,秒" Category="登录信息" />
+ <Column Name="RegisterTime" DataType="DateTime" Description="激活时间" Category="登录信息" />
+ <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
+ <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
+ <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="Code" Unique="True" />
+ <Index Columns="ProductId" />
+ <Index Columns="Uuid" />
+ <Index Columns="UpdateTime" />
+ </Indexes>
+ </Table>
+ <Table Name="DeviceGroup" Description="设备分组。物联网平台支持建立设备分组,分组中可包含不同产品下的设备。通过设备组来进行跨产品管理设备。" BaseType="EntityTree">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="ParentId" DataType="Int32" Description="父级" />
+ <Column Name="Sort" DataType="Int32" Description="排序" />
+ <Column Name="Devices" DataType="Int32" Description="设备总数" />
+ <Column Name="Activations" DataType="Int32" Description="激活设备" />
+ <Column Name="Onlines" DataType="Int32" Description="当前在线" />
+ <Column Name="CreateUserId" DataType="Int32" Description="创建者" Model="False" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
+ <Column Name="UpdateUserId" DataType="Int32" Description="更新者" Model="False" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
+ <Column Name="Remark" DataType="String" Length="500" Description="描述" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="ParentId,Name" Unique="True" />
+ <Index Columns="Name" />
+ </Indexes>
+ </Table>
+ <Table Name="DeviceOnline" Description="设备在线">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="SessionId" DataType="String" Description="会话" />
+ <Column Name="ProductId" DataType="Int32" Description="产品" />
+ <Column Name="DeviceId" DataType="Int32" Description="设备" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
+ <Column Name="GroupPath" DataType="String" Description="分组" />
+ <Column Name="Pings" DataType="Int32" Description="心跳" />
+ <Column Name="Delay" DataType="Int32" Description="延迟。网络延迟,单位ms" />
+ <Column Name="Offset" DataType="Int32" Description="偏移。客户端时间减服务端时间,单位s" />
+ <Column Name="LocalTime" DataType="DateTime" Description="本地时间" />
+ <Column Name="Token" DataType="String" Length="200" Description="令牌" />
+ <Column Name="Creator" DataType="String" Description="创建者。服务端设备" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" />
+ <Column Name="Remark" DataType="String" Length="500" Description="备注" />
+ </Columns>
+ <Indexes>
+ <Index Columns="SessionId" Unique="True" />
+ <Index Columns="ProductId" />
+ <Index Columns="UpdateTime" />
+ </Indexes>
+ </Table>
+ <Table Name="DeviceHistory" Description="设备历史。记录设备上线下线等操作">
+ <Columns>
+ <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
+ <Column Name="DeviceId" DataType="Int32" Description="设备" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="Action" DataType="String" Description="操作" />
+ <Column Name="Success" DataType="Boolean" Description="成功" />
+ <Column Name="TraceId" DataType="String" Description="追踪。用于记录调用链追踪标识,在APM查找调用链" />
+ <Column Name="Creator" DataType="String" Description="创建者。服务端设备" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" />
+ <Column Name="Remark" DataType="String" Length="2000" Description="内容" />
+ </Columns>
+ <Indexes>
+ <Index Columns="DeviceId,Id" />
+ <Index Columns="DeviceId,Action,Id" />
+ </Indexes>
+ </Table>
+ <Table Name="DeviceProperty" Description="设备属性。设备的功能模型之一,一般用于描述设备运行时的状态,如环境监测设备所读取的当前环境温度等。一个设备有多个属性,名值表">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="DeviceId" DataType="Int32" Description="设备" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="NickName" DataType="String" Description="昵称" />
+ <Column Name="Type" DataType="String" Description="类型" />
+ <Column Name="Value" DataType="String" Length="-1" Description="数值。设备上报数值" />
+ <Column Name="Unit" DataType="String" Description="单位" />
+ <Column Name="Enable" DataType="Boolean" Description="启用" />
+ <Column Name="TraceId" DataType="String" Description="追踪。用于记录调用链追踪标识,在APM查找调用链" Model="False" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Model="False" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Model="False" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="DeviceId,Name" Unique="True" />
+ <Index Columns="UpdateTime" />
+ </Indexes>
+ </Table>
+ <Table Name="DeviceData" Description="设备数据。设备采集原始数据,按天分表存储">
+ <Columns>
+ <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
+ <Column Name="DeviceId" DataType="Int32" Description="设备" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称。MQTT的Topic,或者属性名" />
+ <Column Name="Kind" DataType="String" Description="类型。数据来源,如PostProperty/PostData/MqttPostData" />
+ <Column Name="Value" DataType="String" Length="2000" Description="数值" />
+ <Column Name="Timestamp" DataType="Int64" Description="时间戳。设备生成数据时的UTC毫秒" />
+ <Column Name="TraceId" DataType="String" Description="追踪标识。用于记录调用链追踪标识,在APM查找调用链" Model="False" Category="扩展" />
+ <Column Name="Creator" DataType="String" Description="创建者。服务端设备" Model="False" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Model="False" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Model="False" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="DeviceId,Id" />
+ <Index Columns="DeviceId,Name,Id" />
+ <Index Columns="DeviceId,Kind,Id" />
+ </Indexes>
+ </Table>
+ </Tables>
</EntityModel>
\ No newline at end of file
diff --git a/Samples/IoTZero/Entity/xcodetool.exe b/Samples/IoTZero/Entity/xcodetool.exe
index 51c2c0b..7eb8d6c 100644
Binary files a/Samples/IoTZero/Entity/xcodetool.exe and b/Samples/IoTZero/Entity/xcodetool.exe differ
diff --git a/Samples/ZeroServer/Nodes/Model.xml b/Samples/ZeroServer/Nodes/Model.xml
index f4555e6..de3e111 100644
--- a/Samples/ZeroServer/Nodes/Model.xml
+++ b/Samples/ZeroServer/Nodes/Model.xml
@@ -1,175 +1,175 @@
<?xml version="1.0" encoding="utf-8"?>
-<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model2023.xsd" xmlns="https://newlifex.com/Model2023.xsd">
+<EntityModel xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model202309.xsd" Document="https://newlifex.com/xcode/model" xmlns="https://newlifex.com/Model202309.xsd">
<Option>
- <!--输出目录-->
- <Output>.\</Output>
- <!--是否使用中文文件名。默认false-->
- <ChineseFileName>False</ChineseFileName>
- <!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
- <BaseClass>Entity</BaseClass>
- <!--命名空间-->
- <Namespace>Zero.Data.Nodes</Namespace>
<!--类名模板。其中{name}替换为Table.Name,如{name}Model/I{name}Dto等-->
<ClassNameTemplate />
<!--显示名模板。其中{displayName}替换为Table.DisplayName-->
<DisplayNameTemplate />
- <!--用于生成拷贝函数的模型类。例如{name}或I{name}-->
+ <!--基类。可能包含基类和接口,其中{name}替换为Table.Name-->
+ <BaseClass>Entity</BaseClass>
+ <!--命名空间-->
+ <Namespace>Zero.Data.Nodes</Namespace>
+ <!--输出目录-->
+ <Output>.\</Output>
+ <!--是否使用中文文件名。默认false-->
+ <ChineseFileName>False</ChineseFileName>
+ <!--用于生成Copy函数的参数类型。例如{name}或I{name}-->
<ModelNameForCopy />
<!--带有索引器。实现IModel接口-->
<HasIModel>False</HasIModel>
- <!--模型类模版-->
- <ModelClass />
- <!--模型接口模版-->
- <ModelInterface />
+ <!--可为null上下文。生成String?等-->
+ <Nullable>False</Nullable>
<!--数据库连接名-->
<ConnName>Zero</ConnName>
+ <!--模型类模版。设置后生成模型类,用于接口数据传输,例如{name}Model-->
+ <ModelClass />
<!--模型类输出目录。默认当前目录的Models子目录-->
<ModelsOutput>.\Models\</ModelsOutput>
+ <!--模型接口模版。设置后生成模型接口,用于约束模型类和实体类,例如I{name}-->
+ <ModelInterface />
<!--模型接口输出目录。默认当前目录的Interfaces子目录-->
<InterfacesOutput>.\Interfaces\</InterfacesOutput>
<!--用户实体转为模型类的模型类。例如{name}或{name}DTO-->
<ModelNameForToModel />
<!--命名格式。Default/Upper/Lower/Underline-->
<NameFormat>Default</NameFormat>
- <!--生成器版本-->
- <Version>11.8.2023.0523</Version>
- <!--帮助文档-->
- <Document>https://newlifex.com/xcode/model</Document>
<!--魔方区域显示名-->
<DisplayName>节点管理</DisplayName>
<!--魔方控制器输出目录-->
<CubeOutput>../Areas/Nodes</CubeOutput>
</Option>
- <Table Name="Node" Description="节点">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="Code" DataType="String" Description="编码。NodeKey" />
- <Column Name="Secret" DataType="String" Description="密钥。NodeSecret" />
- <Column Name="Enable" DataType="Boolean" Description="启用" />
- <Column Name="ProductCode" DataType="String" Description="产品。产品编码,用于区分不同类型节点" />
- <Column Name="Category" DataType="String" Description="分类" />
- <Column Name="Version" DataType="String" Description="版本" />
- <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
- <Column Name="OS" DataType="String" Length="100" Description="操作系统" Category="硬件信息" />
- <Column Name="OSVersion" DataType="String" Description="系统版本" Category="硬件信息" />
- <Column Name="Architecture" DataType="String" Description="架构。处理器架构,X86/X64/Arm/Arm64" Category="硬件信息" />
- <Column Name="MachineName" DataType="String" Description="机器名称" Category="硬件信息" />
- <Column Name="UserName" DataType="String" Description="用户名称" Category="硬件信息" />
- <Column Name="IP" DataType="String" Length="200" Description="本地IP" Category="硬件信息" />
- <Column Name="Cpu" DataType="Int32" Description="CPU。处理器核心数" Category="硬件信息" />
- <Column Name="Memory" DataType="Int32" Description="内存。单位M" Category="硬件信息" />
- <Column Name="TotalSize" DataType="Int32" Description="磁盘。应用所在盘,单位M" Category="硬件信息" />
- <Column Name="MaxOpenFiles" DataType="Int32" Description="最大打开文件。Linux上的ulimit -n" Category="硬件信息" />
- <Column Name="Dpi" DataType="String" Description="像素点。默认96*96" Category="硬件信息" />
- <Column Name="Resolution" DataType="String" Description="分辨率。例如1024*768" Category="硬件信息" />
- <Column Name="Processor" DataType="String" Length="200" Description="处理器" Category="硬件信息" />
- <Column Name="Uuid" DataType="String" Description="唯一标识" Category="硬件信息" />
- <Column Name="MachineGuid" DataType="String" Description="机器标识" Category="硬件信息" />
- <Column Name="DiskID" DataType="String" Length="200" Description="磁盘序列号" Category="硬件信息" />
- <Column Name="MACs" DataType="String" Length="200" Description="网卡" Category="硬件信息" />
- <Column Name="InstallPath" DataType="String" Length="200" Description="安装路径" Category="硬件信息" />
- <Column Name="Runtime" DataType="String" Description="运行时。.Net运行时版本,可知道本地已安装版本" Category="硬件信息" />
- <Column Name="Framework" DataType="String" Description="目标框架。编译程序集时的目标版本" Category="硬件信息" />
- <Column Name="ProvinceID" DataType="Int32" Description="省份" />
- <Column Name="CityID" DataType="Int32" Description="城市" />
- <Column Name="Address" DataType="String" Length="200" Description="地址。该节点所处位置" />
- <Column Name="Period" DataType="Int32" Description="采样周期。默认60秒" />
- <Column Name="WebHook" DataType="String" Length="500" Description="告警机器人。钉钉、企业微信等" Category="告警" />
- <Column Name="AlarmCpuRate" DataType="Int32" Description="CPU告警。CPU告警的百分比阈值,CPU使用率达到该值时告警,百分之一" Category="告警" />
- <Column Name="AlarmMemoryRate" DataType="Int32" Description="内存告警。内存告警的百分比阈值,内存使用率达到该值时告警,百分之一" Category="告警" />
- <Column Name="AlarmDiskRate" DataType="Int32" Description="磁盘告警。磁盘告警的百分比阈值,磁盘使用率达到该值时告警,百分之一" Category="告警" />
- <Column Name="AlarmTcp" DataType="Int32" Description="连接数告警。TCP连接数达到该值时告警,包括连接数、主动关闭和被动关闭" Category="告警" />
- <Column Name="AlarmProcesses" DataType="String" Description="进程告警。要守护的进程不存在时告警,多进程逗号隔开,支持*模糊匹配" Category="告警" />
- <Column Name="AlarmOnOffline" DataType="Boolean" Description="下线告警。节点下线时,发送告警" Category="告警" />
- <Column Name="Logins" DataType="Int32" Description="登录次数" />
- <Column Name="LastLogin" DataType="DateTime" Description="最后登录" />
- <Column Name="LastLoginIP" DataType="String" Description="最后IP。最后的公网IP地址" />
- <Column Name="OnlineTime" DataType="Int32" Description="在线时长。单位,秒" />
- <Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
- <Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
- <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="Code" Unique="True" />
- <Index Columns="Uuid,MachineGuid,MACs" />
- <Index Columns="IP" />
- <Index Columns="Category" />
- <Index Columns="ProductCode" />
- <Index Columns="UpdateTime" />
- </Indexes>
- </Table>
- <Table Name="NodeOnline" Description="节点在线" ConnName="StardustData">
- <Columns>
- <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
- <Column Name="SessionID" DataType="String" Description="会话" />
- <Column Name="NodeId" DataType="Int32" Description="节点" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
- <Column Name="Category" DataType="String" Description="分类" />
- <Column Name="ProvinceID" DataType="Int32" Description="省份" />
- <Column Name="CityID" DataType="Int32" Description="城市" />
- <Column Name="PingCount" DataType="Int32" Description="心跳" />
- <Column Name="WebSocket" DataType="Boolean" Description="长连接。WebSocket长连接" />
- <Column Name="Version" DataType="String" Description="版本" />
- <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
- <Column Name="Memory" DataType="Int32" Description="内存。单位M" />
- <Column Name="AvailableMemory" DataType="Int32" Description="可用内存。单位M" />
- <Column Name="AvailableFreeSpace" DataType="Int32" Description="可用磁盘。应用所在盘,单位M" />
- <Column Name="CpuRate" DataType="Double" Description="CPU率。占用率" />
- <Column Name="Temperature" DataType="Double" Description="温度" />
- <Column Name="Battery" DataType="Double" Description="电量" />
- <Column Name="UplinkSpeed" DataType="Int64" Description="上行速度。网络发送速度,字节每秒" />
- <Column Name="DownlinkSpeed" DataType="Int64" Description="下行速度。网络接收速度,字节每秒" />
- <Column Name="ProcessCount" DataType="Int32" Description="进程数" />
- <Column Name="TcpConnections" DataType="Int32" Description="连接数。传输数据Established的Tcp网络连接数" />
- <Column Name="TcpTimeWait" DataType="Int32" Description="主动关闭。主动关闭后TimeWait的Tcp网络连接数,下一步Closed" />
- <Column Name="TcpCloseWait" DataType="Int32" Description="被动关闭。被动关闭后CloseWait的Tcp网络连接数,下一步TimeWait" />
- <Column Name="Delay" DataType="Int32" Description="延迟。网络延迟,客户端最近一次心跳耗时的一半,单位ms" />
- <Column Name="Offset" DataType="Int32" Description="偏移。客户端UTC时间减服务端UTC时间,单位ms" />
- <Column Name="LocalTime" DataType="DateTime" Description="本地时间" />
- <Column Name="Uptime" DataType="Int32" Description="开机时间。单位s" />
- <Column Name="MACs" DataType="String" Length="200" Description="网卡" />
- <Column Name="Processes" DataType="String" Length="2000" Description="进程列表" />
- <Column Name="Token" DataType="String" Length="200" Description="令牌" />
- <Column Name="Data" DataType="String" Length="-1" Description="数据" />
- <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
- <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
- <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
- </Columns>
- <Indexes>
- <Index Columns="SessionID" Unique="True" />
- <Index Columns="NodeId" />
- <Index Columns="Token" />
- <Index Columns="UpdateTime" />
- <Index Columns="ProvinceID,CityID" />
- </Indexes>
- </Table>
- <Table Name="NodeHistory" Description="节点历史" ConnName="StardustData">
- <Columns>
- <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
- <Column Name="NodeId" DataType="Int32" Description="节点" />
- <Column Name="Name" DataType="String" Master="True" Description="名称" />
- <Column Name="ProvinceID" DataType="Int32" Description="省份" />
- <Column Name="CityID" DataType="Int32" Description="城市" />
- <Column Name="Action" DataType="String" Description="操作" />
- <Column Name="Success" DataType="Boolean" Description="成功" />
- <Column Name="Version" DataType="String" Description="版本" />
- <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
- <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递" Category="扩展" />
- <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
- <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
- <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
- <Column Name="Remark" ColumnName="Content" DataType="String" Length="2000" Description="内容" />
- </Columns>
- <Indexes>
- <Index Columns="NodeId,Action" />
- </Indexes>
- </Table>
+ <Tables>
+ <Table Name="Node" Description="节点">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="Code" DataType="String" Description="编码。NodeKey" />
+ <Column Name="Secret" DataType="String" Description="密钥。NodeSecret" />
+ <Column Name="Enable" DataType="Boolean" Description="启用" />
+ <Column Name="ProductCode" DataType="String" Description="产品。产品编码,用于区分不同类型节点" />
+ <Column Name="Category" DataType="String" Description="分类" />
+ <Column Name="Version" DataType="String" Description="版本" />
+ <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
+ <Column Name="OS" DataType="String" Length="100" Description="操作系统" Category="硬件信息" />
+ <Column Name="OSVersion" DataType="String" Description="系统版本" Category="硬件信息" />
+ <Column Name="Architecture" DataType="String" Description="架构。处理器架构,X86/X64/Arm/Arm64" Category="硬件信息" />
+ <Column Name="MachineName" DataType="String" Description="机器名称" Category="硬件信息" />
+ <Column Name="UserName" DataType="String" Description="用户名称" Category="硬件信息" />
+ <Column Name="IP" DataType="String" Length="200" Description="本地IP" Category="硬件信息" />
+ <Column Name="Cpu" DataType="Int32" Description="CPU。处理器核心数" Category="硬件信息" />
+ <Column Name="Memory" DataType="Int32" Description="内存。单位M" Category="硬件信息" />
+ <Column Name="TotalSize" DataType="Int32" Description="磁盘。应用所在盘,单位M" Category="硬件信息" />
+ <Column Name="MaxOpenFiles" DataType="Int32" Description="最大打开文件。Linux上的ulimit -n" Category="硬件信息" />
+ <Column Name="Dpi" DataType="String" Description="像素点。默认96*96" Category="硬件信息" />
+ <Column Name="Resolution" DataType="String" Description="分辨率。例如1024*768" Category="硬件信息" />
+ <Column Name="Processor" DataType="String" Length="200" Description="处理器" Category="硬件信息" />
+ <Column Name="Uuid" DataType="String" Description="唯一标识" Category="硬件信息" />
+ <Column Name="MachineGuid" DataType="String" Description="机器标识" Category="硬件信息" />
+ <Column Name="DiskID" DataType="String" Length="200" Description="磁盘序列号" Category="硬件信息" />
+ <Column Name="MACs" DataType="String" Length="200" Description="网卡" Category="硬件信息" />
+ <Column Name="InstallPath" DataType="String" Length="200" Description="安装路径" Category="硬件信息" />
+ <Column Name="Runtime" DataType="String" Description="运行时。.Net运行时版本,可知道本地已安装版本" Category="硬件信息" />
+ <Column Name="Framework" DataType="String" Description="目标框架。编译程序集时的目标版本" Category="硬件信息" />
+ <Column Name="ProvinceID" DataType="Int32" Description="省份" />
+ <Column Name="CityID" DataType="Int32" Description="城市" />
+ <Column Name="Address" DataType="String" Length="200" Description="地址。该节点所处位置" />
+ <Column Name="Period" DataType="Int32" Description="采样周期。默认60秒" />
+ <Column Name="WebHook" DataType="String" Length="500" Description="告警机器人。钉钉、企业微信等" Category="告警" />
+ <Column Name="AlarmCpuRate" DataType="Int32" Description="CPU告警。CPU告警的百分比阈值,CPU使用率达到该值时告警,百分之一" Category="告警" />
+ <Column Name="AlarmMemoryRate" DataType="Int32" Description="内存告警。内存告警的百分比阈值,内存使用率达到该值时告警,百分之一" Category="告警" />
+ <Column Name="AlarmDiskRate" DataType="Int32" Description="磁盘告警。磁盘告警的百分比阈值,磁盘使用率达到该值时告警,百分之一" Category="告警" />
+ <Column Name="AlarmTcp" DataType="Int32" Description="连接数告警。TCP连接数达到该值时告警,包括连接数、主动关闭和被动关闭" Category="告警" />
+ <Column Name="AlarmProcesses" DataType="String" Description="进程告警。要守护的进程不存在时告警,多进程逗号隔开,支持*模糊匹配" Category="告警" />
+ <Column Name="AlarmOnOffline" DataType="Boolean" Description="下线告警。节点下线时,发送告警" Category="告警" />
+ <Column Name="Logins" DataType="Int32" Description="登录次数" />
+ <Column Name="LastLogin" DataType="DateTime" Description="最后登录" />
+ <Column Name="LastLoginIP" DataType="String" Description="最后IP。最后的公网IP地址" />
+ <Column Name="OnlineTime" DataType="Int32" Description="在线时长。单位,秒" />
+ <Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
+ <Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
+ <Column Name="Remark" DataType="String" Length="500" Description="备注" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="Code" Unique="True" />
+ <Index Columns="Uuid,MachineGuid,MACs" />
+ <Index Columns="IP" />
+ <Index Columns="Category" />
+ <Index Columns="ProductCode" />
+ <Index Columns="UpdateTime" />
+ </Indexes>
+ </Table>
+ <Table Name="NodeOnline" Description="节点在线" ConnName="StardustData">
+ <Columns>
+ <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
+ <Column Name="SessionID" DataType="String" Description="会话" />
+ <Column Name="NodeId" DataType="Int32" Description="节点" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="IP" DataType="String" Length="200" Description="本地IP" />
+ <Column Name="Category" DataType="String" Description="分类" />
+ <Column Name="ProvinceID" DataType="Int32" Description="省份" />
+ <Column Name="CityID" DataType="Int32" Description="城市" />
+ <Column Name="PingCount" DataType="Int32" Description="心跳" />
+ <Column Name="WebSocket" DataType="Boolean" Description="长连接。WebSocket长连接" />
+ <Column Name="Version" DataType="String" Description="版本" />
+ <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
+ <Column Name="Memory" DataType="Int32" Description="内存。单位M" />
+ <Column Name="AvailableMemory" DataType="Int32" Description="可用内存。单位M" />
+ <Column Name="AvailableFreeSpace" DataType="Int32" Description="可用磁盘。应用所在盘,单位M" />
+ <Column Name="CpuRate" DataType="Double" Description="CPU率。占用率" />
+ <Column Name="Temperature" DataType="Double" Description="温度" />
+ <Column Name="Battery" DataType="Double" Description="电量" />
+ <Column Name="UplinkSpeed" DataType="Int64" Description="上行速度。网络发送速度,字节每秒" />
+ <Column Name="DownlinkSpeed" DataType="Int64" Description="下行速度。网络接收速度,字节每秒" />
+ <Column Name="ProcessCount" DataType="Int32" Description="进程数" />
+ <Column Name="TcpConnections" DataType="Int32" Description="连接数。传输数据Established的Tcp网络连接数" />
+ <Column Name="TcpTimeWait" DataType="Int32" Description="主动关闭。主动关闭后TimeWait的Tcp网络连接数,下一步Closed" />
+ <Column Name="TcpCloseWait" DataType="Int32" Description="被动关闭。被动关闭后CloseWait的Tcp网络连接数,下一步TimeWait" />
+ <Column Name="Delay" DataType="Int32" Description="延迟。网络延迟,客户端最近一次心跳耗时的一半,单位ms" />
+ <Column Name="Offset" DataType="Int32" Description="偏移。客户端UTC时间减服务端UTC时间,单位ms" />
+ <Column Name="LocalTime" DataType="DateTime" Description="本地时间" />
+ <Column Name="Uptime" DataType="Int32" Description="开机时间。单位s" />
+ <Column Name="MACs" DataType="String" Length="200" Description="网卡" />
+ <Column Name="Processes" DataType="String" Length="2000" Description="进程列表" />
+ <Column Name="Token" DataType="String" Length="200" Description="令牌" />
+ <Column Name="Data" DataType="String" Length="-1" Description="数据" />
+ <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
+ <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
+ <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
+ </Columns>
+ <Indexes>
+ <Index Columns="SessionID" Unique="True" />
+ <Index Columns="NodeId" />
+ <Index Columns="Token" />
+ <Index Columns="UpdateTime" />
+ <Index Columns="ProvinceID,CityID" />
+ </Indexes>
+ </Table>
+ <Table Name="NodeHistory" Description="节点历史" ConnName="StardustData">
+ <Columns>
+ <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
+ <Column Name="NodeId" DataType="Int32" Description="节点" />
+ <Column Name="Name" DataType="String" Master="True" Description="名称" />
+ <Column Name="ProvinceID" DataType="Int32" Description="省份" />
+ <Column Name="CityID" DataType="Int32" Description="城市" />
+ <Column Name="Action" DataType="String" Description="操作" />
+ <Column Name="Success" DataType="Boolean" Description="成功" />
+ <Column Name="Version" DataType="String" Description="版本" />
+ <Column Name="CompileTime" DataType="DateTime" Description="编译时间" />
+ <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样,可用于关联多个片段,建立依赖关系,随线程上下文、Http、Rpc传递" Category="扩展" />
+ <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
+ <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
+ <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
+ <Column Name="Remark" ColumnName="Content" DataType="String" Length="2000" Description="内容" />
+ </Columns>
+ <Indexes>
+ <Index Columns="NodeId,Action" />
+ </Indexes>
+ </Table>
+ </Tables>
</EntityModel>
\ No newline at end of file
diff --git a/Samples/ZeroServer/Nodes/xcodetool.exe b/Samples/ZeroServer/Nodes/xcodetool.exe
index 51c2c0b..7eb8d6c 100644
Binary files a/Samples/ZeroServer/Nodes/xcodetool.exe and b/Samples/ZeroServer/Nodes/xcodetool.exe differ