Я работаю над тяжелым проектом базы данных, где базы данных Microsoft SQL очень зрелые (16 или более лет), а старый продукт использует VB6 и ADO для генерации sql, который взаимодействует с базой данных. Мне было поручено перенести / переписать древнюю версию с новой версией .NET.
Я бы хотел использовать LINQ-to- * для обеспечения простоты обслуживания, но, пытаясь последние несколько недель, я чувствую, что LINQ-to-SQL недостаточно гибок, LINQ-to-Entities слишком много накладных расходов и LINQ-to-Datasets не имеет смысла, так как я был бы счастлив использовать Ado.Net.
Программа работает с двумя базами данных одновременно: одна - это база данных с очень непротиворечивой схемой, содержащей метаданные, а другая - база данных, которая имеет изменяющуюся схему, тесно связана с метабазой и определяет, какую информацию из мета-базы данных, в которой вы заинтересованы в любой момент времени. Кроме того, мне нужна информация, не относящаяся к LINQ, из обеих баз данных (таких как системные хранимые процедуры и системные таблицы).
Есть ли способ использовать LINQ здесь с умом? Мне бы понравилась статическая типизация, но если у меня ее нет, я не хочу втиснуть свое квадратное приложение в круглую структуру.