2009-08-03 3 views
2

Я хотел бы создать независимый от базы данных уровень доступа к данным для моего веб-приложения. Этот уровень доступа к данным должен связываться с любыми внешними (насколько это касается моего приложения) базами данных, такими как Ms SQL сервер, Oracle, Access и т. д. (в соответствии с предпочтениями пользователя). Я буду предоставлять различные параметры - различные базы данных, такие как SQL-сервер, Access, Oracle для пользователя, и он может выбрать любой из них и начать взаимодействовать с данными этой внешней базы данных. Я всегда буду иметь базу данных SQL-сервера также в своем приложении, в которое я хочу передать данные из подключенной вечной базы данных (SQL-сервер/Ms Access/Oracle). Нужно ли иметь 2 слоя DataAccess? один для транзакций SQL-сервера My SQL Server, а другой для обмена данными с внешней базой данных. Каковы наилучшие методы для достижения этой цели? Я использую VS 2008 для разработки. Какие сетевые классы точек поддерживают меня для этого сценария?ASP.NET: уровень данных, привязанных к базам данных

ответ

1

Вы можете сделать дополнительную абстракцию-слой. Возможно, назовите его «Data Persistence Layer» и создайте в нем контракты для CRUD-операций. Затем вы можете использовать IOC (с, скажем, structuremap), чтобы сопоставить ваши DAL-реализации с вашими контрактами :)

1

Может NHibernate может помочь вам я думаю, что вы могли бы быть в состоянии изменить конфигурационный файл и все будет работать нормально

a good article

Смежные вопросы