So, here I am, about to roll my own data access layer. The key features that I needed in my DAL are asynchronous programming model, cloud based databases (eventual consistency, caching, REST protocols etc), multi-valued attributes, retrieving partial objects etc. I need to provide rich support for object oriented access - lists, dictionaries, serializable types etc. I am not looking at generating OO classes from an existing data-model. That is not how we design our apps, at least in this case. I am convinced that I would need to write my own DAL as to my knowledge, none out there suit my needs.
I am now confronted with the problem of designing a good query language that works on objects (hierarchical, lists, nested etc). Is there any good design/query processor out there that I can reuse?
Am I reinventing something that is already available? Or going down the right path?