ASP.NET: уровень данных независимый от базы данных
-
10-07-2019 - |
Вопрос
Я хотел бы разработать независимый от базы данных уровень доступа к данным для моего веб-приложения. Этот уровень доступа к данным должен связываться с любыми внешними (насколько это касается моего приложения) базами данных, такими как Ms SQL server, Oracle, Access и т. д. ... (в соответствии с предпочтениями пользователя). Я предоставлю пользователю различные опции - различные базы данных, такие как SQL-сервер, Access, Oracle, и он может выбрать любую из них и начать взаимодействовать с данными этой внешней базы данных. В моем приложении всегда будет база данных SQL-сервера, в которую я хочу передавать данные из подключенной вечной базы данных (SQL-сервер / Ms Access / Oracle). Мне нужно иметь 2 уровня DataAccess? один для транзакций базы данных My SQL server, а другой для связи с внешней базой данных. Каковы наилучшие методы для достижения этой цели? Я использую VS 2008 для разработки. Какие классы точек сети поддерживают меня для этого сценария?
Решение
Вы можете создать дополнительный уровень абстракции. Возможно, назовите его «Уровень персистентности данных» и создайте для этого контракты на CRUD-операции. Тогда вы могли бы использовать IOC (например, со структурной картой) для сопоставления ваших DAL-реализаций с вашими контрактами:)
Другие советы
Может быть, NHibernate может помочь вам, я думаю, вы сможете изменить конфигурационный файл, и все будет работать нормально