Шаблон репозитория в c #
-
06-07-2019 - |
Вопрос
Как реализовать шаблон репозитория в C # .net 2.0?
Просто покажи мне основную структуру. Потому что у нас нет DataContext в .net 2.0.
Решение
DataContext - это не шаблон репозитория, а активный шаблон записи. Как только вы поймете разницу между ними, вы поймете ответ на свой вопрос.
Active Record - это объектно-ориентированное представление ваших данных в базе данных.
Репозиторий - это объект, который находится в модели вашего домена, если он у вас есть, это означает, что его открытый интерфейс полностью отделен от вашей технологии доступа к данным.
Вы используете LINQ или SQL для запроса своей базы данных с помощью DataContext, и это имеет смысл, поскольку LINQ и SQL очень хороши для запроса данных.
Но когда вы запрашиваете свой репозиторий, поскольку мы больше говорим об объекте домена, чем о данных, мы используем шаблон спецификации , который на самом деле является языком мини-запросов, более подходящим для вашего домена.
В двух словах: Active Record = доступ к базе данных и данным, репозиторий = модель домена. В идеале, ваш клиент должен быть в состоянии понять дизайн вашей доменной модели (так, в частности, ваш репозиторий и классы спецификаций), но он не понимает, что такое DataContext, так как он является каналом разработчика.
Чтобы быть понятным, "пример шаблона хранилища в C # 2.0" не совсем то, что вы должны искать, "пример шаблона хранилища" есть, но внутренняя реализация будет использовать классический ADO вместо DataContext.
Другие советы
Вы можете увидеть пример для ASP.NET здесь , но я думаю, вы все равно могли бы понять идею.