Лучший .NET каркас данных для работы с устаревшими базами данных - PullRequest
1 голос
/ 10 ноября 2010

Я создаю сайт для очень старой базы данных. Поскольку база данных представляет собой смесь различных стандартов, я решил, что ORM не является подходящей технологией, и вместо этого будет использовать хранимые процедуры и представления для взаимодействия с ней.

Что такое хорошие платформы данных .NET для работы со старыми устаревшими базами данных? Интересующие меня функции - это лаконичный код для вызова процедур, хранящихся в базе данных, и автоматическое сопоставление результатов с объектами со строгой типизацией.

Легкий и простой каркас был бы плюсом. Я хотел бы избежать чего-то со сложностью nHibernate.

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Я думаю, что лучший вариант с разрозненными базами данных - попытаться объединить их в более новый стандарт. Может быть целесообразно использовать ORM, мне особенно нравится DevExpress 'XPO , так как вы фактически «кодируете» его почти «прозрачно» ... И он работает с МНОГО баз данных:

Access 2000, 2007 (Microsoft Jet), Сервер баз данных Advantage v9.1 +, DB2, Firebird 1.5+, MySQL Server 4.1+, Oracle 9i, 10g, 11g, Pervasive.SQL 9+, PostgreSQL 7+, SQL Anywhere 11+, Sybase Adaptive Server 12+, SQLite 3, VistaDB 4 и все версии SQL Server ...

Вы можете попробовать ADO.NET с Entity Framework и использовать подход объектов POCO, чтобы вы могли лучше контролировать слой данных самостоятельно.

Опять же, я бы, конечно, попытался найти способ консолидации всех данных в современной базе данных. Если вам нужно, чтобы старое приложение работало над старой базой данных, попробуйте придумать процесс экспорта, чтобы реплицировать его данные в «запрашиваемая» современная база данных… Таким образом вы предотвратите потерю производительности у старого приложения, пытаясь конкурировать с веб-сайтом за одну и ту же унаследованную базу данных (параллелизм не был так хорошо обработан во многих устаревших базах данных). .) на самом деле иногда лучше всего иметь базу данных «отчет» (веб-сайты почти всегда похожи на слой отчета) отдельно от «основной» рабочей базы данных.

PS .: Извините за предложение решения, не зная вашей фактической проблемной области полностью ...

1 голос
/ 10 ноября 2010

Вы можете попробовать Microsoft Enterprise Library Блок приложения данных. Он использует ADO.Net под одеялом, но упаковывает его в более простой в использовании пакет. Это намного легче, чем что-то вроде NHibernate.

0 голосов
/ 10 ноября 2010

Как насчет просто ADO.NET ? Он должен поддерживать большинство баз данных. Для более старых баз данных обычно есть драйвер ODBC, который позволит вам подключиться к базе данных. Какие из них вам нужно поддерживать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...