Я бы все равно проголосовал за Entity Framework v4 - EF4.
В конце концов:
у вас может быть несколько файлов EDMX, нет проблем - один для SQL Server, один для Oracle
вы можете поместить их в их собственную библиотеку классов, а затем загрузить или, или другой, или и то, и другое, если необходимо, во время выполнения (например, используя Managed Extensibility Framework или что-то свое)
, вы можете легко настроить таргетинг на эти EDMX-файлы в базах данных, используя строки подключения - на самом деле совсем несложно
Думаю, вам нужно выбрать ORM и дизайнерский инструмент отдельно. Например, используйте EF и LLBLGEN, или NHibernate и CodeSmith, или NHibernate и LLBLGEN, и т. Д.
OpenAccess также может выполнить эту работу для вас. Вы можете использовать несколько файлов .rlinq и сборку для каждой базы данных, как это было предложено в Entity Framework. Преимуществом, которое я вижу для вас, будет поддержка, которую вы получите от Telerik, так как существует большая вероятность того, что вы ударитесь о камень или два при разработке решения такого масштаба.
Учитывая эту информацию, я бы посоветовал изучить NHibernate (и / или fluent-nhibernate ).
Вам нужно будет изучить производительность. Это сильно зависит от характера вашего приложения. От 1000 до 1200 таблиц звучит огромно, поэтому я бы порекомендовал провести ряд значимых тестов производительности (в дополнение ко всем другим тестам), прежде чем вы примете окончательное решение.
Правка : На самом деле, лучшим стартовым местом для NHibernate является nhibernate.info (Спасибо, Джастин!).
Я бы также предложил NHibernate, но место для исследования определенно NHForge:
Вот общий обзор функций (включая LINQ ):
http://nhibernate.info/doc/nhibernate-features.html
Доступно несколько дизайнеров, включая LLBLGen Pro:
http://nhibernate.info/doc/commercial-product -ecosystem.html
NHibernate 3 сейчас находится в альфа-версии, но я знаю, что в некоторых местах он уже используется в продакшене. Возможно, это лучший способ начать новый проект.