You are here: Object Manager Enterprise > Viewing enum Values In OME

Viewing Enum Values In OME

.NET-enums  do not carry any database identity and are stored in their parent object slot. If you open a database with enum values in OME, you will be able to see the enum class in the db4o Browser view, but if you proceed and select "Show all objects" from the right-click menu you will see that there are no enum objects stored in the database.

But don't worry, an enum is just an integer so all we need are the values of the enum fields in the database.  Please, select a class with the enum field in the db4o Browser view. Right-click it and select "Show all objects".

Something went wrong here - there are no Enum values and nulls are stored instead. Is the information lost?

Here you will need to understand how enum values are stored in the database. In order to save space in the database file, db4o stores only the absolutely necessary information for the enums:

The actual enum representation will be picked up in the runtime using enum class definition. As OME by default runs without class definitions using Generic Reflector, OME can't interpret the Enum field value correctly.  In order to fix you need to add the assemblies which contain the enum-type.

Go to "Tools" -> "Object Manager Enterprise" -> "Options" menu and select "Assembly Search Path...". Add the path to the assembly, containing the type definition. Now disconnect and reconnect the database and browse the objects again: