Правильная утилизация с использованием шаблонов Repository и Unit Work с Entity Framework?

Ура! У меня есть некоторые сомнения по поводу использования модуля работы с репозиторием. Особенно роль дочернего контекста из Entity Framework. Я искал много информации об этой теме, но все, что я нашел, это просто разные типы использования шаблонов, я запутался и не могу понять основную мысль.

1. Где я должен реализовать утилизацию и сохранение? -Правильно ли реализуется Disposable в классе Inheritance DbContext? После этого реализовать в Repository и Unit of Work или только в Uni fo Work?

-Где поместить метод Сохранить в единицу работы или репозиторий?

Мой репозиторий будет универсальным Верен ли мой код в архитектурном стиле и других деталях? Пожалуйста, сообщите, если я ошибаюсь.

    interface IRepository : IDisposable
    {
        void Create();
        void Delete();
        void Update();
        void Get();
        T getSomeByExpression()
       ...Some another costum operations
       ...should I remember about Save here? 
    }

    class Repository : IRepository
    {
        SomeContext context = new SomeContext();
       ...Using using(context = new SomeContext()){} in functions??
       ... 
       ....Disposing?
    }

    interface IUnitOfWork : IDisposable
    {
    ...Which methods I should realize?
    Commit()
    Save()
   ...Need some another methods like rollback, Attach() Add() or Dispose or something else?
    }
    class UnitOfWork
    {
    ...Collection of Repository

    }

Использовать после единицы работы на логическом уровне? Пожалуйста, помогите мне понять эту тему.

Я хочу знать, как правильно использовать шаблоны Unit Of Work и Repository вместе, особенно включать DBContext. Также я хочу знать, где используются некоторые операции, такие как Dispose. Какие операции обычно должны быть в UnitOfWork, Сохранить и т.д. Как размещать контекст в репозитории?

10
задан TuffGong 4 August 2012 в 16:41
поделиться