Ok, here is the general idea. I create a custom module to display Project items. In Orchard I only need to display those items, but I also expose a REST API to allow a Silverlight application to insert/update/delete projects. Each user in Orchard has its
own set of projects.
What I created so far is:
a ProjectRecord : ContentPartRecord class - I actually don't need it to be a ContentPartRecord, but I don't know how to do the data access otherwise
public class ProjectHandler : ContentHandler
public ProjectHandler( IRepository<ProjectRecord> repository )
Filters.Add( StorageFilter.For( repository ) );
Then I have a ProjectController which works with a service class to CRUD projects. The service is IDependency and provides methods that work with IRepository<ProjectRecord> for CRUD.
As I said, I really don't need the ProjectRecord to inherit from ContentPartRecord, but this is the only way can then do data access in Orchard. I couldn't find a better way reading through the docs and source code of Orchard.
I don't want to see created Projects as content in the Orchard Dashboard. I just want to store them in the DB.
Hope that clears my case. It would be great if you can suggest a better way to do the data access.