Not quite an answer, but too long for a comment:
I created a mid-sized web application using the "concatenate pieces of SQL" method, and I'm currently doing a similar job, but using L2E.
I found that with some self-control, the concatenate-pices-of-sql method is not so bad. Of course, use parameterized queries, do not try to directly insert user input into SQL.
I slowly upgraded the L2E method. This gives you type safety, although you need to do something โbackwardโ from how you can do this with SQL โ for example, the WHERE X IN (...) constructs. But so far I have not hit anything that L2E cannot handle.
It seems to me that the L2E approach will be a little easier to support if other people are actively involved.
Do you have actual use cases when the "bloat" L2E problem is a problem? Or is it just a general feeling of malaise when you feel that the wireframe is doing too much behind the scenes?
I definitely had this feeling at the beginning (well, anyway) and, of course, I donโt like reading the generated SQL (for example, compared to my handwritten SQL from the previous project), but so far I have found L2E pretty good considering only the database hit, when it is really necessary.
Another problem is that you are using the database and how relevant are its L2E bindings. If you are using SQL Server, then no problem. However, MySql may be more flaky. A piece of L2E slickness is a great integration with VStudio and the ability of VStudio to automatically create entity models from your database. Not sure how good support is for backends without MS.
source share