Ответ 1
Попробуйте DbExtensions, доступный как пакет NuGet.
Что-то вроде этого.
http://code.google.com/p/squiggle-sql/wiki/Tutorial.
Это требуется для случаев, когда требуется создать сложный sql из пользовательского ввода из пользовательского интерфейса. В настоящее время в проекте, в котором я работаю, используется String Manipulation, который выглядит уродливым и его трудно поддерживать.
Попробуйте DbExtensions, доступный как пакет NuGet.
Мне удалось найти очень хорошую библиотеку для создания динамического sql в .Net.
Не то, чтобы я знал (хотя это не означает, что определенно нет).
Как насчет Entity Framework? Он позволяет создавать запрос и переводит его в SQL для объектов:
customers.OrderBy(c => c.Name).Skip(10).Take(20)
Формирует:
SELECT value c
FROM NW.Customers AS c
ORDER BY c.Name skip 10 limit 20;
Что-то не так с Linq-to-Sql?
var dc = new YourDataContext();
var query = dc.TableName.Where(x=>x.MatchesYourPredicate);
Console.WriteLine(dc.GetCommand(query).CommandText);
Я всегда создаю свои собственные... это быстро и просто, и вам не нужно полагаться на сторонние библиотеки. Кроме того, это помогает вам стать немного более интимным с SQL.