Мне нужно решить очень динамическую проблему с SQL Server. Я разрабатываю инструмент, который проверяет соответствие данных в нескольких базах данных. [ПРИМЕЧАНИЕ: требования к этому проекту довольно строги]
Мне нужно создать инструмент C #, который позволит пользователю выбрать любую базу данных из динамического списка, а затем позволит пользователю выбрать таблицу (выступающую в качестве источника БД / таблицы). Как только это будет сделано, пользователь снова сделает это для другой базы данных и таблицы (или нескольких таблиц в качестве места назначения)
После выбора источника и пункта назначения пользователь может выбрать, какие поля отображать на какие другие поля.
Наконец, программе необходимо циклически перебрать записи в исходной таблице и найти все подходящие ключи в целевой таблице. Нужно проверить такие вещи, как совпадение только одного ключа, все остальные сопоставленные поля имеют одинаковые данные и т. Д ...
Я хотел бы использовать Linq в своем коде и просто передать строки для полей / таблиц, с которыми я запускаю эту базовую логику. Проблема в том, что базы данных и схема неизвестны во время компиляции.
Я ищу направление по этому вопросу. Я не могу найти решение. Самое близкое, что я нашел, - это динамическая библиотека Linq-to-sql, которая там есть. Но это только в рамках вашей модели данных. Я даже не могу иметь модель данных.
Я думал о том, чтобы отбросить всю вещь Linq вместе, просто написать свой собственный быстрый и грязный метод цепочки, чтобы сгенерировать базовый SQL, который мне нужен (в основном, причудливый построитель строк).