[ASP.NET MVC] Unit Of Work Pattern - Въпрос относно Демото


4

Днес много набързо се случиха нещата и сега като ги разцъквам се появяват няколко въпроса:

  public class UowData : IUowData
    {
        private readonly DataContext context;
        private readonly Dictionary<Type, object> repositories = new Dictionary<Type, object>();
        
        public UowData()
            : this(new DataContext())
        {
        }
 
        public UowData(DataContext context)
        {
            this.context = context;
        }
 
Проблема е в това, че по Default си приема DataContext, в другия конструктор да приема интерфейс например IDataContext, който ще бъде евентуално някакъв който ние да му подаваме. Съответно DataContext да имплементира IDataContext
public interface IDataContext
    {
        IDbSet<Bug> Bugs { get; set; }
        IDbSet<BugsCategory> BugsCategory { get; set; }
    }

Кое е правилния начин? :)


в ASP.NET MVC от vlad0 (6103 точки)


Отговори



4

Междо другото попаднах на доста стабилен пост точно по темата http://blog.longle.net/2013/05/11/genericizing-the-unit-of-work-pattern-repository-pattern-with-entity-framework-in-mvc/


от iwitass (3695 точки)


0
Мда, там са го направили точно по този начин супер е ;) !

от vlad0 (6103 точки)

0
10х. Като цяло в блога на пича има само изрудски имплементаций на какво ли не.

от iwitass (3695 точки)



0
Мисля, че така както си го написал е най-добре. Предполагам не е останало време да имплементира още един интерфейс. Приемаш в конструктора IDataContext, като си правиш контекст който имплементира интерфейса.

от VGeorgiev (2890 точки)