Aktywne Wpisy

Van-der-Ledre +77
Jest sobotni letni wieczór, my samotni gromadzimy się tutaj niezmiennie znów, jak co sobotę... Tak, to lista obecności tagu świętego, przyzwoitego i nieskażonego. Jesteś, zapisz się...
#przegryw
#przegryw
źródło: 1000020504
PobierzZawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.





Uczę się ASP.NET MVC i mam kilka pytań.
1. Database First vs Code First - czego powinno/używa się w większych projektach?
2. Czy tworzenie obszarów ( Areas ) to dobra praktyka?
3. Jeżeli mam stworzone Area o nazwie Admin, gdzie może on edytować, dodawać, usuwać produkty to gdzie powinienem stworzyć klasę Product i kontekst do bazy danych? W obszarze Admin/Models czy normalnie w folderze Models?
4. Czy używać czegoś takiego jak Repository?
#csharp #aspnet #dotnet #programowanie
źródło: comment_MOvrcskAIuHnBptbzm9LKYhrk6lerulr.jpg
PobierzKomentarz usunięty przez autora
@JewelOfTheNile: zależy. ale raczej w nowych projektach Code First. Plus jakieś sensowne migracje.
do małych szybkich projektów lepszy Code First.
4. tak, tam powinieneś miec repozytoria do tabelek tzn. mapowania do EF + obsługa bazy itp.
a no i w core też masz MVC
1. Zależy + to co powiedział @h3xxx
2. Tak, chociażby do wydzielenia api / admin itp.
3. Jeżeli używasz jej tylko w adminie to w area jeżeli w całej aplikacji to w głównym Models, a najlepiej mieć w oddzielnym projekcie np. MojaAplikacja.Data. W Models warto mieć takie klasy które używasz tylko do wysyłania między widokiem a kontrolerem i na odwrót.
4. Izolacja logiki biznesowej od kontrolerów to bardzo
po pierwsze nie słuchaj gadania o tym, że tylko .NET Core i tylko SPA + WebAPI. Nadal często używa się Razor Pages i .NET Framework. Do nauki na pewno jest to lepszy wybór.
Poszukaj na githubie nopcommerce, to bardzo dobrze napisany projekt w asp.net mvc. Możesz przejrzeć kod i zobaczyć jak się zwykle tworzy strukturę projektów w solucji
@JewelOfTheNile: Częsciej spotykana praktyka to code first, w szczególności w przypadku szybkich projektow. Ale nie ukrywajmy oba podejścia występują. Np. gdy firma musi operować na jakiejs gotowej bazie klienta lub duzych korpo projektów i baz współdzielonych miedzy wieloma projektami.
Tak jesli projekt jest duży :) Plusem Areas w MVC jest to ze mozesz trzymac logicznie uporzadkowane fragmenty serwisu, np. Wszystkie czesci Blog, odpowiedzialne za panele od blogów, Wszystkie czesci, kontrolery, podstrony, klasy entity. minusem może stac sie podział logiczny aplikacji. Czyli pytanie: "Co moja strefa (podstrony)
Jak wyżej już mówili. Database first w większych projektach.
W dodatku Dapper zamiast EntityFramework, bo jest