If you allow user-specified, loosely-defined types in that manner, you are necessarily giving up the advantages of a strongly typed ORM layer. If that's what you have to do then you should give up trying to use an ORM and fall back to ADO.NET style data access with its more flexible datasets and datareaders.
A middle ground would be to serialize those user-defined types as JSON or XML and just parse them when you need them. That way you could still use an ORM for the parts of the app that are strongly typed.