Я не верю, что есть конвертеры для SQL в C #.
Что касается подхода к созданию такого инструмента, я бы сначала сказал, что не ... ваше требование бизнеса звучит так, как будто вы хотите получить логику в C #.
В зависимости от состояния приложения, вы можете сделать это разными способами: по одному за раз; логические объекты одновременно (вся логика клиента и т. д.); целая свинья; agile-ish, где вы оставляете спрокеров в покое на время и вызываете их прямо из C #, а затем медленно выбираете один из предыдущих подходов - всегда оставляя себя с работающим приложением.
Действительно загруженный вопрос: -)
Лично я сначала попытался бы заставить его работать в C # прямо, вызывая sprocs. Затем возьмите логические объекты, поскольку вы обнаружите, что они могут ссылаться на других звезд. Одновременное выполнение sproc фрагментирует вашу логику C # во время разработки и добавляет дополнительные издержки при создании бизнес-классов.
Сильной стороной модели домена C # являются четкие границы ответственности и группировки поведения в ваших логических сущностях - поэтому, взяв спрок за раз, вы не увидите более широкой картины. Используя конвертер, он закончится нечитаемым, неуправляемым кодом, который вам затем придется изучить - то, что вам не нужно делать, если вы его создали в первую очередь.
Итак, мой вывод, если таковой имеется, - это сэкономить время в будущем и использовать это как возможность изменить дизайн своего бизнес-уровня - поскольку у вас, вероятно, есть знания и опыт поведения системы в этой области, таким образом, преобразование может учитывать любые извлеченные уроки.
Обновление: оказывается, у вас есть опции инструментов для конвертации. Единственное, что я скажу этому подходу, это: полученный код не будет красивым . Вы получаете преимущество в том, что ваш текущий SQL понятен командой разработчиков - они знают код. Генератор кода будет производить 100% новый код, который никто не знает . Кривая обучения ... так как вам нужно проверить вывод инструмента, чтобы убедиться, что он не изменяет вашу логику - ни один инструмент не является безошибочным.
Если вы решите использовать этот инструмент, я могу только предложить разбить преобразование на очень, очень маленькие части (предположительно, наименьшим будет сценарий (или, возможно, даже пакет внутри сценария)). Если у вас есть небольшой набор результатов преобразования, интегрируйте его в приложение и проведите его через процесс проверки.