Otis wrote:
I can't help you with the driver part, I honestly haven't heard from someone else using that.
Wrt the derived models: these are designed to be denormalized, and a projection of the entities they're based on; the idea is basically that your entity model drives the derived models so a change in the entity model drives changes in the derived models so things aren't connected by unwritten vagueness.
Hi Otis
Early days as we aren't looking into this full-time, but just to mention for anyone that is interested - we were able to create a Couchbase driver for LLBLGen via the cdata "ADO.NET" couchbase driver, and got it working i.e. schema elements coming back into your designer, where they can be selected -> come back as entities, and returned at runtime via standard LLBLGen adapter syntax. We haven't checked writing yet (Couchbase uses an Upsert type syntax) so we might get stuck there... we will see. Is it ok to post a specific question around this if we do get stuck?
The cdata has a GetSchema() method which queries the various buckets to find the existing document samples, then we are able to select these and map them back to an entity within the designer. It worked for sub-documents too. The only downside so far is that you need to map these IsModelOnly relationships yourself (which isn't a big deal).
The initial downside was performance - it was really poor, around 5 seconds to return an entity. It turned out that this is because, by default, the cdata re-queries the schema upon the first connection for a session. So once we saved this schema to a file, the driver can prefetch it, and we were back to milliseconds returning documents, as expected.