BlueshiftSoftware / EntityFrameworkCore

NoSQL providers for EntityFramework Core
Other
281 stars 57 forks source link

Roadmap #24

Closed fleed closed 6 years ago

fleed commented 6 years ago

Is there a roadmap available?

crhairr commented 6 years ago

First of all, let me apologize for not updating the repo in a while. My second child was born a few months ago, and shortly after there was a round of sickness through my whole household, including a rotating bout with mono about two months ago. And when not sick or caring for my wife and children, I've been focused on other projects that this EF provider was meant to support.

I would be happy to create a roadmap! Currently, I am the sole maintainer of this repo, and I would love some assistance, both in terms of pull requests as well as general guidance determining what various users want to see. If there are features you would like to see, please feel free to enumerate them!

fleed commented 6 years ago

Hi Chris

You don't need to apologize. I appreciate the effort that you've put into the project, and the result already looks very good.

I need the provider for a project at work, and the promised official provider also doesn't have a roadmap. It would be nice to know the known issues preventing a release to the official Nuget feed.

I will try to contribute. First priority would be making it compatible with the official 2.1 release. Having a computer list of what's missing in your opinion to have a first official release would help.

Best regards Francesco

crhairr commented 6 years ago

Right now, I'm working on getting complex types to work better. I took a shortcut with the type mapper and treat any type that doesn't have a primary key as essentially a primitive, allowing it to skirt some EFCore's SQL-centric functionality.

I'd like to get that working better so that the state manager can detect when an entity is modified by when a property of a property (etc) has been modified. Currently, you have to explicitly call DbContext.Update in order to mark the top-level entity as modified. And because I shortcut the metadata, you cannot currently have a foreign key on an embedded document.

This would be my number one goal. After that, I think there might be some cleanup to do in the join implementation and expression visitors, especially with respect to materialization and ensuring that references to the same key produce the same instance.

crhairr commented 6 years ago

I just completed refactoring a substantial amount of the provider. Complex/owned type support has been vastly improved. Includes have been substantially revamped and largely improved. The provider now supports includes on deeply-nested (owned) document reference navigations, but I'm still working on getting deeply-nested collection navigations to work. I'm not sure that I'll be able to do get it done for the 2.1 release.

I have a few more tests to write before I can be comfortable with making this an RTM. But I'm the closest I've been since I started.

crhairr commented 6 years ago

https://github.com/crhairr/EntityFrameworkCore.MongoDb/wiki/Roadmap