asp.net mvc3 с общим шаблоном хранилища LInq to sql - PullRequest
0 голосов
/ 17 декабря 2011

это я уже пробовал, просто изучая некоторые блоги, я узнал, насколько важно использовать общий репозиторий, мне интересно, как вы, люди, работаете с linq to sql, есть ли хороший урок по этому вопросу?

interface IBlogRepoService<T> where T:class 
    {
        void Add(T entity);
        void Delete(T entity);
        T GetById(long Id);
        T Get(Func<T, Boolean> where);
        IEnumerable<T> GetAll();
        IEnumerable<T> GetMany(Func<T, bool> where);

    }

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

  1. Я хочу знать, как должна быть иерархия проекта для asp.net mvc3, (linq to sql с общим шаблоном репозитория).

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

Существует множество примеров шаблона репозитория для Linq2SQL.Смотрите ниже полный образец

http://www.codefrenzy.net/2011/10/06/a-generic-implementation-of-the-repository-pattern-for-linq-to-sql/

0 голосов
/ 17 декабря 2011

Во-первых, вам нужно выбрать пакет доступа к данным, используя ORM, такой как Entity Framework или NHibernate, будет гораздо проще, чем писать свою собственную оболочку вокруг чего-то вроде ADO. После того, как вы определились с пакетом, который будет использовать ваша реализация, вы предоставите способ взаимодействия с пакетом, подключенным к базе данных.

Используя сущностную структуру, ваша реализация будет скрывать доступ к базовому DataContext. Используя nHibernate, ваша реализация скрывает детали об объекте ISession.

Как только вы поймете, что скрывает ваша реализация, довольно просто отобразить типы сущностей (T в вашем определении универсального класса) на основные операции, которые обеспечивает ваш интерфейс (Add, Delete, GetById и т. Д ...)

...