Entity Framework i wiele kontekstów w repozytoriach

2

Cześć, szybkie kontrolne pytanie. Używam repozytorium gdzie korzystam z wielu kontekstów. MIanowicie:

 
public class UserRepository : IUserRepository 
    {
        private Contex db = new Context();
        .
        .
        //metody korzystajace z kontextu.
     }
public class CommentRepository : ICommentRepository 
    {
        private Contex db = new Context();
        .
        .
        //metody korzystajace z kontextu.
     }

Czy to rozwiązanie w jakiś sposób jest błędne? Czy jednak można z niego korzystać? Gdzieś na forum wyczytałem, że stosuje się do tego typu rzeczy Unity of Work ale ten sposób jest dla całkowicie niezrozumiały...
Poproszę o jakąś odpowiedź, pomoc. Z góry dziękuje.

0

W ten sposób nie jesteś w stanie wykonać żadnej operacji na encjach pochodzących z obu repozytoriów, np. przypisać komentarza do użytkownika. Czy tego właśnie chcesz?

Użyj UoW, albo chociaż na początek przekazuj do wszystkich repozytoriów jeden Context.

0

Jednak chciałbym ominąć na dzień dzisiejszy UoW. Skorzystam z drugiej metody. Czy ona wymaga Generycznych repozytoriów? Mógłbyś nakreślić jakiś przykład z tym związany? Byłbym wdzięczny.
Pozdrawiam

0
roy23 napisał(a):

Jednak chciałbym ominąć na dzień dzisiejszy UoW. Skorzystam z drugiej metody. Czy ona wymaga Generycznych repozytoriów? Mógłbyś nakreślić jakiś przykład z tym związany? Byłbym wdzięczny.
Pozdrawiam

Generyczne repozytorium nigdy nie jest wymagane, to co najwyżej może być abstrakcyjna klasa bazowa, z której dziedziczą pozostałe repozytoria.

Nie bardzo rozumiem jakiego przykładu oczekujesz. Po prostu zamiast tworzyć w każdym repozytorium Context za pomocą new, ustawiaj to pole w konstruktorze i przekazuj do Repozytorium z zewnątrz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1