.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: