Share via


SqlHierarchyId 结构

 

SqlHierarchyId 类型表示层次结构中的一个位置,并且指定深度和广度。

命名空间:   Microsoft.SqlServer.Types
程序集:  Microsoft.SqlServer.Types(位于 Microsoft.SqlServer.Types.dll)

语法

[SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true, 
    MaxByteSize = 892, Name = "SqlHierarchyId")]
public struct SqlHierarchyId : IBinarySerialize, INullable, IComparable
[SqlUserDefinedTypeAttribute(Format::UserDefined, IsByteOrdered = true, 
    MaxByteSize = 892, Name = "SqlHierarchyId")]
public value struct SqlHierarchyId : IBinarySerialize, INullable, 
    IComparable
[<Sealed>]
[<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered = true,
    MaxByteSize = 892, Name = "SqlHierarchyId")>]
type SqlHierarchyId = 
    struct
        interface IBinarySerialize
        interface INullable
        interface IComparable
    end
<SqlUserDefinedTypeAttribute(Format.UserDefined, IsByteOrdered := True,
    MaxByteSize := 892, Name := "SqlHierarchyId")>
Public Structure SqlHierarchyId
    Implements IBinarySerialize, INullable, IComparable

属性

名称 说明
System_CAPS_pubproperty IsNull

获取一个值,该值指示 SqlHierarchyId 是否为 null

System_CAPS_pubpropertySystem_CAPS_static Null

获取层次结构标识为 null 的 SqlHierarchyId。

方法

名称 说明
System_CAPS_pubmethod CompareTo(Object)

返回一个值,该值指示 SqlHierarchyId 和某一对象之间的比较结果。

System_CAPS_pubmethod CompareTo(SqlHierarchyId)

返回一个值,该值指示两个 SqlHierarchyId 节点之间的比较结果。

System_CAPS_pubmethod Equals(Object)

计算 SqlHierarchyId 和 obj 是否相等。(覆盖 ValueType.Equals(Object)。)

System_CAPS_pubmethod GetAncestor(Int32)

在层次结构树中向上检索 SqlHierarchyId 节点 n 个级别。

System_CAPS_pubmethod GetDescendant(SqlHierarchyId, SqlHierarchyId)

获取大于 child1 且小于 child2 的后代 SqlHierarchyId 节点的值。

System_CAPS_pubmethod GetHashCode()

获取从层次结构树的根节点到 SqlHierarchyId 节点的路径的哈希值。(覆盖 ValueType.GetHashCode()。)

System_CAPS_pubmethod GetLevel()

获取一个值,该值指示在层次结构树中 SqlHierarchyId 节点的级别。

System_CAPS_pubmethod GetReparentedValue(SqlHierarchyId, SqlHierarchyId)

获取一个值,该值表示新的 SqlHierarchyId 节点的位置,该节点具有从 newRoot 开始的路径,该路径等于从 oldRootthis 的路径,并且有效地将 this 移到这个新位置。.

System_CAPS_pubmethodSystem_CAPS_static GetRoot()

获取一个值,该值表示层次结构的根 SqlHierarchyId 节点。

System_CAPS_pubmethod GetType()

(继承自 Object。)

System_CAPS_pubmethod IsDescendantOf(SqlHierarchyId)

获取一个值,该值指示 SqlHierarchyId 节点是否是父级的后代。

System_CAPS_pubmethodSystem_CAPS_static Parse(SqlString)

将 SqlHierarchyId 节点的规范字符串表示形式转换为 SqlHierarchyId 值。

System_CAPS_pubmethod Read(BinaryReader)

从指定的二进制读取器读入 SqlHierarchyId。

System_CAPS_pubmethod ToString()

从 SqlHierarchyId 值返回 SqlHierarchyId 节点的规范字符串表示形式。(覆盖 ValueType.ToString()。)

System_CAPS_pubmethod Write(BinaryWriter)

将 SqlHierarchyId 写入指定的二进制编写器。

运算符

名称 说明
System_CAPS_puboperatorSystem_CAPS_static Equality(SqlHierarchyId, SqlHierarchyId)

计算两个 SqlHierarchyId 节点是否相等。

System_CAPS_puboperatorSystem_CAPS_static GreaterThan(SqlHierarchyId, SqlHierarchyId)

计算一个指定的 SqlHierarchyId 节点是否大于另一个节点。

System_CAPS_puboperatorSystem_CAPS_static GreaterThanOrEqual(SqlHierarchyId, SqlHierarchyId)

计算一个指定的 SqlHierarchyId 节点是否大于或等于另一个节点。

System_CAPS_puboperatorSystem_CAPS_static Inequality(SqlHierarchyId, SqlHierarchyId)

计算两个 SqlHierarchyId 节点是否不相等。

System_CAPS_puboperatorSystem_CAPS_static LessThan(SqlHierarchyId, SqlHierarchyId)

计算一个指定的 SqlHierarchyId 节点是否小于另一个节点。

System_CAPS_puboperatorSystem_CAPS_static LessThanOrEqual(SqlHierarchyId, SqlHierarchyId)

计算一个指定的 SqlHierarchyId 节点是否小于或等于另一个节点。

备注

此类用于存储分层信息中提供了以下好处︰

  • 非常紧凑的数据存储。

  • 深度优先比较。 此类型上的索引深度优先顺序且深度优先遍历中彼此相近的节点存储彼此靠近。

  • 支持随意插入和删除。

  • 这种类型的限制是层次结构的数据类型的单个实例可能会不大于 892 字节。 具有太多级别,以满足此限制内的层次结构必须使用不同的数据类型。

HierarchyId 类型与 SqlHierarchyId 数据类型一样,可供 CLR 客户端使用。

示例

DECLARE @employee hierarchyid
SELECT @employee = OrgNode FROM HumanResources.EmployeeDemo
  WHERE LoginID = 'adventure-works\dylan0'

SELECT * FROM HumanResources.EmployeeDemo
WHERE @employee.IsDescendantOf(OrgNode) = 1

线程安全

此类型的所有公共静态(Visual Basic 中的 已共享 在 Visual Basic 中)成员都是线程安全的。不保证所有实例成员都是线程安全的。

另请参阅

Microsoft.SqlServer.Types 命名空间

返回页首