To give you perspective, we are still in the technical evaluation phase with OpenAccess (vs. NHibernate, mostly), in terms of migrating our current product from an in-house framework to an ORM. Since we also want to migrate from a C++/MFC codebase to C#/WPF, this will be a rather long project.
That Telerik is showing the willingness and flexibilty to satisfy our needs and request is very encouraging and sufficient for now, I think.
I would propose that our company do more proof-of-concept, etc, finalize our tool selections (we really really
like the RadControls for WPF, especially the RadTreeListView!), and continue the discussion at that time.
Possible workflow (based on our limited understanding of the enhancer):
0. Our company deploys to customer:
- source code for the partial persistent classes representing our "standard" schema, decorated with OpenAccess attributes
- un-enhanced assemblies for most of our software product
[The remainder runs on customer machine at time of schema change]
1. Customer provides source code files for their plug-ins, containing:
- "custom" fields extending the "standard" persistent classes
- "custom" persistent types
- "custom" plug-in business logic, presentation layer, etc.
2. Build the assemblies (might be called from within our software's bootstrapper via CSharpCodeProvider.CompileAssemblyFromFile() )
- "custom" + "standard" persistent classes to make the Domain Model
- "custom" plug-in assemblies
3. Run the enhancer on all the un-enhanced assemblies
(we could invoke enhancer from our software's bootstrapper using a passphrase, if that is desired to protect intellectual property)
At this point, we should be ready to load the assemblies and run!