The requested page is not available for the requested platform. You are viewing the content for .NET Framework 4.5.2+ platform.
.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

IndicesAttribute Class

Specifies the properties that participate in creation of non-unique database indices.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v19.1.dll

Declaration

[AttributeUsage(AttributeTargets.Class, Inherited = true)]
public sealed class IndicesAttribute : Attribute
<AttributeUsage(AttributeTargets.Class, Inherited:=True)>
Public NotInheritable Class IndicesAttribute
    Inherits Attribute
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
public sealed class IndicesAttribute : Attribute
<AttributeUsage(AttributeTargets.Class, Inherited:=True)>
Public NotInheritable Class IndicesAttribute
    Inherits Attribute

Remarks

Apply this attribute to a persistent class to specify database indices to be created in the database table associated with the class. Unlike IndexedAttribute, IndicesAttribute allows you to specify several non-unique indices for the current table using a single attribute declaration. The following code snippet illustrates usage of both attributes.


[Indices("Name", "Name;Age", "Age;ChildCount")]
public class Person : XPObject {
    [Size(32)]
    public String Name;
    [Indexed(Unique = true), Size(64)]
    public String FullName;
    public int Age;
    public int ChildCount;
}

With this code in place, the database table corresponding to Person will have four indices.

  1. A non-unique index over the Name column.
  2. A non-unique multi-column index over the Name and Age columns.
  3. A non-unique multi-column index over the Age and ChildCount columns.
  4. A unique index over the FullName column.
Note

XPO does not support tables with multi-column (compound) keys or indexes in ASE databases. To avoid exceptions when connecting to ASE databases containing these tables, use one-column keys or indexes.

Inheritance

Object
Attribute
IndicesAttribute
See Also