订阅架构示例
定义订阅类时,可定义订阅数据的架构。本主题展示了几个在不同情况下定义的字段的示例。有关订阅架构的详细信息,请参阅定义订阅架构。
注意: |
---|
以下示例显示了用于定义订阅类字段的值。定义字段的具体方式取决于定义应用程序时使用的是 XML 还是 NMO。 |
按订阅设备和区域设置
此架构用于天气类应用程序。如果某个订阅方创建了订阅,则该订阅方必须指定天气预报通知的城市。订阅方还必须选择用于通知传递的设备和区域设置。
此应用场景的架构包含三个字段:DeviceName、SubscriberLocale 和**“城市”**。
字段名称 | 字段类型 | 字段修饰符 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
SubscriberLocale |
nvarchar(10) |
NOT NULL |
城市 |
nvarchar(35) |
NOT NULL |
按预定义设备名称和区域设置
此架构用于航空类应用程序。订阅方创建订阅时,必须指定起飞城市代码、目的地代码以及通知的触发器价格。订阅方也可指定航空公司。如果未指定航空公司,则订阅方将收到所有航空公司的通知。
此应用程序仅支持一个设备和一种区域设置。因此,可在用于生成通知的 Transact-SQL 查询中指定设备名称和区域设置。除非准备将来支持多个设备和区域设置,否则此订阅架构中无需 DeviceName 和 SubscriberLocale 字段。
字段名称 | 字段类型 | 字段修饰符 |
---|---|---|
LeavingFrom |
nvarchar(6) |
NOT NULL |
GoingTo |
nvarchar(6) |
NOT NULL |
航空公司 |
nvarchar(255) |
|
价格 |
float |
NOT NULL |
按订阅设备和预定义区域设置
如果航空应用程序已改为支持多个设备但不支持多种区域设置,则需要在架构定义中添加 DeviceName 字段。
字段名称 | 字段类型 | 字段修饰符 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
出发 |
nvarchar(6) |
NOT NULL |
到达 |
nvarchar(6) |
NOT NULL |
航空公司 |
nvarchar(255) |
|
价格 |
float |
NOT NULL |
注意: |
---|
如果更改了订阅类并更新了应用程序,则将重命名现有的订阅表以及创建新的订阅表。可以将旧表的订阅数据迁移到新表中。有关详细信息,请参阅更新应用程序。 |
无自定义字段
以下字段定义用于将同一个通知发送给每个人的订阅类,或者用于对订阅方可通过事件字段定义复杂条件的条件操作提供支持的订阅类。用户不为任何 WHERE 子句参数提供值,但必须选择一个设备或区域设置。
字段名称 | 字段类型 | 字段修饰符 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
SubscriberLocale |
nvarchar(10) |
NOT NULL |
如果应用程序没有自定义字段,并且不支持多个设备和区域设置,则订阅类将不具有架构。
请参阅
参考
概念
其他资源
数据类型(数据库引擎)
CREATE TABLE (Transact-SQL)
FieldTypeMods Element for SubscriptionClass/Schema/Field (ADF)
FieldType Element for SubscriptionClass/Schema/Field (ADF)
Schema Element for SubscriptionClass (ADF)