Skip to main content
.NET 6.0+

SizeAttribute Class

Specifies the maximum number of characters that can be stored in a column which is created to store the data of a property or field.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v24.1.dll

NuGet Package: DevExpress.Xpo

#Declaration

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

#Remarks

The current version of XPO only supports size definitions for the persistent properties or fields of string data types. If the SizeAttribute isn’t applied to a member, the size of the database column which the member’s data is stored in is specified by the SizeAttribute.DefaultStringMappingFieldSize value.

Note the SizeAttribute affects only the creation of the database column. If the database column already exists, its size is not changed.

#Example

The following example applies the SizeAttribute to the FullName and Background properties. The maximum number of characters that can be stored in a database column which the FullName property is mapped to is 128. As for the Background property the unlimited size of the column it is mapped to is specified.

using DevExpress.Xpo;

class Customer : XPObject {
    private string fullName;
    private string background;

    [Size(128)]
    public string FullName {
        get { return fullName; }
        set { SetPropertyValue<string>(nameof(FullName), ref fullName, value); }
    }

    [Size(SizeAttribute.Unlimited)]
    public string Background {
        get { return background; }
        set { SetPropertyValue<string>(nameof(Background), ref background, value); }
    }
}

#Inheritance

Object
Attribute
SizeAttribute
See Also