MediaDataObject Class
The XPO persistent class used to store media data in the database.
Namespace: DevExpress.Persistent.BaseImpl
Assembly: DevExpress.Persistent.BaseImpl.Xpo.v24.1.dll
NuGet Package: DevExpress.Persistent.BaseImpl.Xpo
Declaration
Remarks
You can use the MediaDataObject type to declare a reference property of a business class that is used to store and display an image.
WinForms, Blazor, and ASP.NET Web Forms Image Property Editors are used automatically for properties of the MediaDataObject type.
You can find an example in the BLOB Image Properties in XPO topic.
MediaDataObject is a container for two values:
- MediaDataObject.MediaData A byte array object that is loaded from a database on demand when required. It is not loaded together with the MediaDataObject itself and may contain any type of media.
MediaDataObject.MediaDataKey A key value of the string type. This value should not be changed from your code. It is updated automatically when the MediaData byte array is changed and is unique for each MediaDataObject. MediaDataKey is used in a URL of the MediaData loaded by a browser. The URL is generated under the following conditions.
- MediaDataKey is constant while MediaData is not updated.
- It is not required to load MediaData when generating the URL.
- MediaDataKey can be quickly obtained as it is not required to load MediaData every time to calculate the key.
Currently, the MediaDataObject property type is completely supported in ASP.NET Web Forms (ASPxImagePropertyEditor) only. The Winforms and Blazor editors (ImagePropertyEditor) support it partially - they use MediaData only, and does not provide caching.
Note
It is not recommend to change the MediaData value by direct database queries. In this instance, the URL will not change, and it will be required to manually refresh the page to see the changes.