Why I Don't Like the Data Access Block (v2)
I have talked with many people over the last few years about my issues with the the Data Access Block, but it seems I’ve never enumerated my issues in ‘print’. Here they are. If this has been fixed in the EL version the Data Access Block then yippie!
- PrepareCommand is called from many of the helper functions. PrepareCommand causes the connection to be open before the Parameters are adding to the connection. This causes each parameter to be ‘checked’ with the server causing many unnecessary round-trips.
- Opening connections too early and closing them too late.
- Obfuscates the way the data access works so when there is an issue, the users must dive into levels and levels of overloaded methods to find the private method that is really doing the work.
- Filling DataSets is doing TableMappings but no ColumnMappings. Hiding this detail from developers only delays the learning of this important concept.
- No support for multiple DataTable updates within a single transaction.