I was reading this very interesting book on Entity framework which is an ORM offering from Microsoft when I started to back-track all the offerings from Microsoft to coect to database through its proprietary ADO.Net data provider technology. Way back a decade ago, I had used Microsoft application blocks by directly referencing the respective dll files in my project but since then so many things have come up. So I started investigating as to which option to exercise whenever I start a new project from scratch and how these offerings really stack against each other or they are simply a gradual enhancement of the very same technology ADO.Net with EF being the latest :
- Manually using various ADO.Net classes available in System.Data.SqlClient namespace (by referring System.Data.dll - Available since .Net framework 1.x)
- Referring Microsoft.ApplicationBlocks.Data.dll assembly directly in your project and executing DB queries.
- Enterprise Library from Pattes and practices team of Microsoft.
- LINQ to Sql (Released with .Net v3.5)
- Entity Framework (Released with .Net v3.5 Service Pack 1)
All these things can be really a point of confusion once I enter into ADO.Net world. It will be really helpful if someone can throw a good birds eye view on these offerings.
