It's finally that time where I can wrap up this series with a nice bow. 🎀
I've had a lot of fun learning about how data access can be done in .NET using F#, let's take a look at the series as a whole!
Content 📃
- From Domain types to SQL tables
- ADO.NET
- ADO.NET extensions
- Challenges of using SQL with F#
- Micro ORMs
- Full ORMs
- Code Generation
I hope I was able to give a small flavour of what it is like using each technology but if you're still looking for some guidance here are a few questions I think about with some recommended answers.
The following is my opinion please don't eat me 🦈
Q&A 🤔
The below are a few questions that help me determine which route to go down for a project.
Question | Recommendation |
---|---|
Am I working with a "simple" domain? | Dapper, Dapper.FSharp |
Does the database change often or without your knowledge? | (SQL Hydra + ADO.NET), Facil |
Do I need to validate my data before creation? | ADO.NET, Donald, DustyTables, SQL Hydra, Facil |
Do I have to deal with SQL? | Entity Framework, SQL TypeProvider |
Do I want an F# first experience? | Dapper.FSharp, (SQL Hydra + ADO.NET), Facil, Donald, DustyTables, SQL TypeProvider |
Is my database large? | (SQL Hydra + ADO.NET), Facil, SQL TypeProvider |
Again a lot of these tools are composable so you can easily interop between them.
Summary 🌈
It has been a long journey to get to this point and whether you've been reading from the start or just joined in a huge thank you for accompanying me.
That's all folks!