(Announcement) Version 4 development
Dzoukr opened this issue · 1 comments
From the first line of the code, my idea behind Dapper.FSharp
was to create a simple and straightforward abstraction over SQL queries people tend to use most of the time. Initial idea was to create a single abstraction to cover the top three used SQL-based databases: MSSQL, MySQL, and PostgreSQL. Such a decision played well at the very beginning, but over time, and with a growing user base, there were many PRs to add more and more DB vendor-related features (e.g. #61, #65, or #70) which I had to reject for the sake of unified abstraction - I simply couldn't add features that would work only for one of the databases. And trust me on this - it never felt good to reject well-intended PRs.
So... I decided to start working on v4, which will be refactored from the ground. The main goals of this breaking change are:
- Each DB vendor has a separate namespace with all the code (e.g.
Dapper.FSharp.MSSQL
) - Each DB vendor having own abstraction with its own computation expressions
- Where possible, try to keep abstractions close together
- Implement vendor-specific features on the CE syntax level
- Revisit
Deconstructor
and its functionality - Code cleanup, testing, you know the drill 😄
ETA: End of 2022, but no promises here...
Version 4 released