Wpis z mikrobloga

Serwus!
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
Pobierz JewelOfTheNile - Serwus!
Uczę się ASP.NET MVC i mam kilka pytań.
1. Database First ...
źródło: comment_MOvrcskAIuHnBptbzm9LKYhrk6lerulr.jpg
  • 12
1. Database First vs Code First - czego powinno/używa się w większych projektach?


@JewelOfTheNile: zależy. ale raczej w nowych projektach Code First. Plus jakieś sensowne migracje.

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?


@
@JewelOfTheNile:
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 dobry pomysł.
@JewelOfTheNile:
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
1. Database First vs Code First - czego powinno/używa się w większych projektach?


@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.

2. Czy tworzenie obszarów ( Areas ) to dobra praktyka?

Tak jesli projekt jest duży :) Plusem Areas w
@JewelOfTheNile:

1. Database First vs Code First - czego powinno/używa się w większych projektach?

Jak wyżej już mówili. Database first w większych projektach.
W dodatku Dapper zamiast EntityFramework, bo jest szybszy.

W mniejszych projektach albo takich, gdzie czas developmentu jest ważniejszy niż czas wykonania, Code First jest okej.

4. Czy używać czegoś takiego jak Repository?

@grubson234567: Nie zawsze.
Repository ma swoje wady i zalety. Zaletą jest to, że CRUDy się