Gdzie trzymac Context Bazy Danych z Entity Framework

0

maam apliakcje .NET MVC podzielona tak:

controller - service - BaseRepository.

Uzywam EF i przy zmianach w bazie korzystam z Contextu i teraz moje pytanie:

Wedle wszelkich prawidel i technik programistycznych ktore z tych rozwiazan jest najlepsze:

  • Context ustawiam raz i przetrzymuje go w Repository/Service, potem kazde zmiany/pobrania robie an tym jednym i na koncu zapisuje.

  • Context pobieram za kazdym razem gdy robie zmiane i ew. podaje go jako parametr do metod repository??

Pierwsza metoda jest lepsza bo daje mi dostep do jednego i tego samego contextu, nie musze go przesylac miedzy metodami i wtedy wiem ze nic nie zgubie. ale to chyba nie powinno byc az tak statyczne.

Druga metoda to rozdzielenie Repository od Contextu, ale nie czuje zebym go musial w ogóle rozdzielac.

Nakierujcie mnie jak to powinno wygladac wzorcowo i dlaczego.

Dzieki

3

Uzyc kontenera IoC, ustawic cykl zycia DbContext na Per Http Request i wstrzykiwac go w konstruktorze tam gdzie jest uzywany.

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