Hola Israel,
Con respecto a la herramienta de Redgate, lo unico que Redgate te da es un GUI encima de esto:
http://tsqlt.org/ que es un Open Source que he usado para probar desde la base de datos.
Como funcionatSqlt? Pues instalas en tu server una seria de stored procedures (estan en el schema tsqlt) y con ellos tienes acceso a Asserting methods y a algunos helpers que son bien utiles. Estoy pensando que pudieras usar esto si el SQL lo ejecutas desde un stored procedure, desde ahi tambien puedes hacer un sql dinamico.
Redgate lo que te da es un UI encima de todo esto pero no necesitas Redgate para usarlo...
Lo que haces esta bien a mi entender pues como dices el sql lo generas desde c#, yo hubiera escrito un stored proc que generara el query dinamico y bueno tambien pudieras ejecutar los stored procedures desde c# sin necesidad alguna de usar tSqlt.
A mi entender donde tSqlt brilla es para quitarte de encima dependencias pues a veces para hacer el data setup tienes que insertar dato en 20 tablas que no necesitas pero por las dependencias tienes que insertar una Orden, un customer, un product cuando lo que quieres probar solo necesita usar OrderLine, FakeTable se encarga de crear una table OrderLine que es, ... bueno fake, que no tiene constraints ni relaciones, renombra la tabla original y todo esto dentro de una transaccion, al final del test, todo vuelve a ser como antes. Esta es la mayor ventaja que veo a tSqlt, si no necesito este complicado setup, pues hago los tests desde C#
No se si repondi tu pregunta.
Salu2
Erlis