snatch-dev / Convey

A simple recipe for .NET Core microservices.
https://convey-stack.github.io
MIT License
948 stars 173 forks source link

Add support for repository pattern for different databases? #1

Open GlennArens opened 4 years ago

GlennArens commented 4 years ago

Hey, Maybe there should be support for different database types with for example dapper with a generic repository pattern on top.

GooRiOn commented 4 years ago

Good point! I think that we should extract abstractions for persistence first (something like Convey.Persistence) and then we will think about particular implementations for SQL/NoSQL databases.

millicandavid commented 4 years ago

I know my group was interested in a CosmosDB and a SQL Server implementation. The CosmosDB implementation may not be necessary as the MongoDB adapter for it may work just fine. We haven't experimented with that yet though. I'll update here if we find that it does.

dsoltesz commented 4 years ago

Would like to see a Convey.Persistence.EFCoreDB

GooRiOn commented 4 years ago

Ok, I will prioritize this one to extrat the IRepository<TEntity, TKey> to the separated package.

Dryadepy commented 4 years ago

Good point! I think that we should extract abstractions for persistence first (something like Convey.Persistence) and then we will think about particular implementations for SQL/NoSQL databases.

I'think its not necessary to make an abstractions for persistence as in fact will make it a bit hard to extend later (support for multiple nosql provides)

frankely commented 4 years ago

Good point! I think that we should extract abstractions for persistence first (something like Convey.Persistence) and then we will think about particular implementations for SQL/NoSQL databases.

I'think its not necessary to make an abstractions for persistence as in fact will make it a bit hard to extend later (support for multiple nosql provides)

I think it would be more flexible to choose between a SQL or NoSQL concrete NuGet package since they both have different features and trying to abstract them will reduce flexibility.