2015-05-02 7 views
0

У меня есть задача: мне нужно создать уровень доступа к данным, который может работать с несколькими источниками данных (json-файлы, xml-файлы, SQL-сервер). Но я просто понятия не имею, как это должно быть сделано. Я попытался создать свой собственный контекст, наследуя класс DBContext (что-то вроде JsonContext), который содержит пути к json-файлам и выполняет операции ввода-вывода, но теперь я думаю, что это выглядит как-то глупо :). Может быть, я могу создать интерфейс базового репозитория и реализовать его с каждым источником данных? Или, может быть, существуют модели или практики, которые могут мне помочь?Уровень доступа данных с несколькими источниками данных

ответ

0

Неплохая идея взять DbContext, созданный для вас EntityFramework, и использовать его как ваш общий базовый класс для всех разных источников данных (JsonContext наследует от DbContext). Однако проблема, которую я вижу в этом подходе, заключается в том, что при создании экземпляра JsonContext он вызывает конструкторы базового класса DbContext и пытается подключиться к SQL Server, чего вы не хотите.

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

+0

Благодарим вас за ответ. – Konstantin