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
JewelOfTheNile - Serwus!
Uczę się ASP.NET MVC i mam kilka pytań.
1. Database First ...

źródło: comment_MOvrcskAIuHnBptbzm9LKYhrk6lerulr.jpg

Pobierz
  • 12
  • Odpowiedz
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
  • Odpowiedz
@JewelOfTheNile: 1. w poważnych projektach, raczej DB first - dokładnie zaplanowana baza, co ma mieć itp.
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.
  • Odpowiedz
@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
  • Odpowiedz
@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
  • Odpowiedz
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 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)
  • Odpowiedz
@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
  • Odpowiedz