The good news is that what you ask for is probably not that difficult to manage.
About plugin management, you can take a look at Microsoft Prism ( http://msdn.microsoft.com/fr-fr/magazine/cc785479.aspx ), which has some nice features for modular application development.
Example 1. You can match subclasses in separate mappings, in separate assemblies, look for NH documentation. A separate mapping file for the subclass is as follows:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<subclass name="YourClassFullName, YourPluginAssemblyName"
extends="YourParentClassFullName, TheAssemblyWhereYourBaseClassIsDefined"
discriminator-value="whateveryouwant">
... add your subclass mapping here ...
</subclass>
</hibernate-mapping>
2. . (, IMappingLoader), ( ). NH Configuration. , Microsoft Prism IModule, Initialize() . IMappingLoader.
, .