Шаблон репозитория в c # - PullRequest
       11

Шаблон репозитория в c #

0 голосов
/ 25 октября 2009

Как реализовать шаблон хранилища в C # .net 2.0?

Просто покажи мне основную структуру. Потому что у нас нет DataContext в .net 2.0.

Ответы [ 2 ]

6 голосов
/ 25 октября 2009

DataContext - это не шаблон репозитория, а активный шаблон записи. Как только вы поймете разницу между ними, вы поймете ответ на свой вопрос.

Active Record - это объектно-ориентированное представление ваших данных в базе данных.

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

Вы используете LINQ или SQL для запроса вашей базы данных с помощью DataContext, и это имеет смысл, поскольку LINQ и SQL очень хороши для запроса данных.

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

В двух словах: Active Record = доступ к базе данных и данным, репозиторий = модель домена. В идеале, ваш клиент должен быть в состоянии понять структуру вашей доменной модели (так, помимо прочего, ваш репозиторий и классы спецификаций), но он не понимает, что такое DataContext, так как он является каналом разработчика.

Для ясности, «Пример шаблона репозитория в C # 2.0» не совсем то, что вы должны искать, «Пример шаблона репозитория», но внутренняя реализация будет использовать классический ADO вместо DataContext. .

2 голосов
/ 25 октября 2009

Вы можете увидеть пример для ASP.NET здесь , но я думаю, что вы все равно поймете идею.

...