I'm not too big a fan of direct entities, because I still think that SQL queries are the fastest and most optimized when writing manually directly and for the database (using the right joins, groupings, indexes, etc.).
In my current project, I decided to try BLToolkit, and I am very pleased with my shell around Ado.net and speed, so I query the database and return strong objects like C #. I also wrote T4, which generates stored procedure helpers , so I don’t need to use magic strings when calling stored procedures, so that all my calls use strong parameter types.
Basically, all my CRUD calls are made using stored procedures, because many of my requests are not simple select statements, and especially my creations and updates also return results that are easily made using a stored procedure that only makes one call. Anyway...
Downside
The biggest drawback of BLToolkit ( I would like everyone who rated BLToolkit to know this ) is not its capabilities or speed, but its very meager documentation, as well as its support or absence. Therefore, the biggest problem with this library is the trial version and the error to make it work. That’s why I also don’t want to use too many different parts of it, because the more I use the more problems, I have to solve it myself.
Question
What alternatives do I need to make BLToolkit:
- support for using stored procedures that return all the objects that I provide that do not necessarily match DB tables
- provide a good object mapper from a data reader to objects
- maintains relationships (all of them)
- optional (but desirable) support for multiple results.
- doesn't need any special configuration (I use only the data connection string and nothing more)
Basically, it should be very lightweight, basically it should have a simple Ado.net wrapper and a mapper object.
And the most important requirement: easy to use, well maintained, and the community uses it .