Lavoro su un grande progetto .NET. È iniziato più di 10 anni fa, non c'è ORM (NHibernate o EF intendo) e non vi è alcuna possibilità di migrare ad un ORM molto diffuso (e per query SQL complesse l'ORM non è in alcun modo suite). Utilizziamo il provider MS SQL di ADO.NET con facciata personalizzata per datareader. Costruiamo le query selezionate come stringhe, ad esempio, se abbiamo una query di grandi dimensioni e vogliamo avere alcune personalizzazioni: assomiglia a questo:
public List<SomeEntity> GetEntities(string titleFilter, bool joinsometable, bool selectAll...)
e all'interno di questo metodo abbiamo un generatore di stringhe che costruisce query in base alle condizioni e ai parametri di input. Inoltre, se vogliamo riutilizzare qualche pezzo di SQL (come un elenco di join o condizioni ripetute) li manteniamo come variabili stringa. Quindi alla fine è molto difficile supportarlo. Sono solo curioso: qualcun altro ha problemi simili? Come l'hai risolto?