-
Relinq
With re-linq, it's now easier than ever to create full-featured LINQ providers. Used by NHibernate, Entity Framework and others.
First attempt was pretty awful... Believe it or not, writing a LINQ provider can be hard. I made a break and investigated further, how existing ORMs and Marten are implementing LINQ providers. Library that some of the ORMs are using (or were using) is called relinq. Documentation isn't great but there a a couple of examples on how to use it. Reqlinq separates single LINQ expression into multiple expressions (where, select, order, ...) Armed with new awesome library I decided to have another go on writing my own little DAL library with SQLite as a store. It is far from complete, it doesn't yet have async operations, it is missing LINQ transformations in Select expression, performance is bad (like 10x slower than EF Core with SQLite),... there is a lot of work left to be done.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
- https://github.com/stanac/ArgoStore
-
I always loved Marten, it is so simple to use and yet powerful. If you are unfamiliar with it, it is a data access library (like an ORM) that is using JSON serialization and LINQ to store and query data from/to Postgres. It basically turns Postgres into document DB. Comparing it to EF, Marten doesn't require migrations since it stores documents.
-
Are you aware of LiteDB? It seems like your project is going for a very similar niche. Most people looking for this type of thing will probably go for the more mature and feature-rich solution (LiteDB). So if your project has some unique value proposition to distinguish it from LiteDB, you should elaborate on that.