Skip to main content
A newer version of this page is available. .

XPMemberInfo.StorageType Property

Gets the type that the member’s value is saved as in the data store.

Namespace: DevExpress.Xpo.Metadata

Assembly: DevExpress.Xpo.v21.1.dll

NuGet Package: DevExpress.Xpo

Declaration

public Type StorageType { get; }

Property Value

Type Description
Type

A Type descendant representing the type that the member’s value is saved as in the data store.

Remarks

There are cases when it is necessary to modify property values prior to saving them to a data store (e.g. data protection and data compression). In this case, data prior to being stored is modified according to an encryption or compression algorithm. When data is retrieved from the data store it’s decrypted or decompressed to return it to its original form. XPO provides a way to perform such a conversion by applying the ValueConverterAttribute.

For more information on converting values, see the ValueConverterAttribute topic.

Example

The following code example demonstrates how to store your boolean data in the database using the “T” string for true and “F” for false by defining a new ValueConverter descendant. You may need this converter when using an existing database in which boolean properties are stored such form.

//...       
[Size(1), ValueConverter(typeof(BooleanToStringValueConverter))]
public bool Answer {
    get { return GetPropertyValue<bool>(nameof(Answer)); }
    set { SetPropertyValue<bool>(nameof(Answer), value); }
}

//...
public class BooleanToStringValueConverter : ValueConverter {
    public override object ConvertFromStorageType(object value) {
        return Convert.ToString(value) == "T";
    }
    public override object ConvertToStorageType(object value) {
        return Convert.ToBoolean(value) ? "T" : "F";
    }
    public override System.Type StorageType {
        get { return typeof(string); }
    }
}
See Also