Skip to main content
A newer version of this page is available. .
.NET Framework 4.5.2+

KeyAttribute Class

Indicates that a property or a field is a key.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v20.2.dll

NuGet Package: DevExpress.Xpo

Declaration

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, Inherited = true)]
public sealed class KeyAttribute :
    Attribute

Remarks

Apply this attribute to a property or a field to mark it as a key. The KeyAttribute.AutoGenerate property specifies whether the key is generated automatically.

You can change key property values for new unsaved objects only. If you change a key property for a saved object, the identity map may not function correctly. Define a key property as “read-only” whenever possible:

[Key(true), Persistent("CategoryID")]
int fCategoryID = -1;

[PersistentAlias(nameof(fCategoryID))]
public int CategoryID {
    get { return fCategoryID; }
}

Inheritance

Object
Attribute
KeyAttribute
See Also