MediaDataObject Class
The XPO persistent class used to store media data in the database.
Namespace: DevExpress.Persistent.BaseImpl
Assembly: DevExpress.Persistent.BaseImpl.Xpo.v25.2.dll
NuGet Package: DevExpress.Persistent.BaseImpl.Xpo
Declaration
[Browsable(false)]
[EditorAlias("ImagePropertyEditor")]
[MediaDataObject("MediaDataKey", "MediaData", "MediaData")]
public class MediaDataObject :
BaseObject,
IEmptyCheckable
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 and ASP.NET Core Blazor 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
MediaDataObjectitself 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
MediaDatabyte array is changed and is unique for eachMediaDataObject.MediaDataKeyis used in a URL of theMediaDataloaded by a browser. The URL is generated under the following conditions.MediaDataKeyis constant whileMediaDatais not updated.- It is not required to load
MediaDatawhen generating the URL. MediaDataKeycan be quickly obtained as it is not required to loadMediaDataevery time to calculate the key.
The Winforms and Blazor editors (ImagePropertyEditor) support the MediaDataObject property type partially - they use MediaData only, and do 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.