指定使用默认存储为持久类分配新ID
值的系统函数。
<IdFunction>increment</IdFunction>
这个元素的值可以是increment
(使用$increment
函数)或sequence
(使用$sequence
函数)。
如果持久化类不使用IdKey来确定对象ID值,则该元素允许指定用于分配ID值的函数($increment
函数或$sequence
函数)。
如果类使用$increment
函数,则通过对<IdLocation>
元素中定义的全局位置中存储的值进行递增来创建新的id。
如果类使用$sequence
函数,它可能会保留id块,以便在快速数据摄入的情况下获得更快的速度。
如果没有使用所有保留的ID
,则可能导致ID
号之间的空白。
当随后的数据被吸收时,这些空白可能会也可能不会被填补。
一个副作用是,具有较高ID
的类的实例不一定比具有较低ID
的类的实例更新。
此外,在<IdLocation>
元素中定义的全局位置上的值与当前分配的任何id
都不直接相关。
<IdFunction>
元素的默认值是使用类定义创建的类的递增值。
<IdFunction>
元素的默认值是使用DDL CREATE TABLE
语句创建的类的序列。
指定ID
计数器的位置。
<IdLocation>^Sample.PersonD</IdLocation>
这个元素的值是一个全局名称,前导下标是可选的。
此元素允许指定包含用于分配对象ID
值的计数器的全局节点。
默认情况下,在使用默认存储的持久类定义中,这个全局位置包含类实例的最高分配ID
。
然而,这仅在<IdFunction>
元素被设置为自增且类不使用IdKey
时才适用。
如果<IdFunction>
元素被设置为sequence
,那么存储在这个全局位置上的值是没有意义的,并且如果类使用IdKey
,该位置不会被赋值。
如果未指定,则类编译器将生成<IdLocation>
元素的值。通常,该值是^MyApp.MyClassD
(其中MyApp.MyClass
是类名),但是,它可能会根据许多因素而有所不同。
指定索引的默认存储位置。
<IndexLocation>^Sample.PersonI</IndexLocation>
此元素的值是带有可选前导下标的全局名称。
此元素允许指定用于此类索引的全局。如果未指定,则索引位置为^MyApp.MyClassI
(其中MyApp.MyClass
是类别名称)。
请注意,还可以单独指定每个索引的存储。
<IndexLocation>
元素的默认值为空字符串。
指定用于SQL
中的行ID
的名称。
<SqlRowIdName>IdName</SqlRowIdName>
该元素的值是一个SQL
标识符。
该元素允许直接指定投影到SQL
的行(对象)ID
列的名称。
<SqlRowIdName>
元素的默认值为空字符串。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。