Wpis z mikrobloga

Tutaj: https://www.plukasiewicz.net/EFCore/EFCoreQueries
Znalazłem coś takiego:

public class FuelType : Entity
{
public string Type { get; set; }
}

W poprzednich przykładach klasy modelowe nie dziedziczyły po Entity. Ktoś wie, dlaczego zastosowano tam ten zabieg? W artykule który nadesłałem nie ma żadnego wyjaśnienia.

#entityframework #efcore #csharp #naukaprogramowania #pytanie
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@vanguard2727: Po to żeby nie powtarzać deklaracji propert takich jak id. Entity jest abstrakcyjną klasą. Nie reprezentuje żadnej tabeli. Ucz się z materiałów M$ najlepiej w języku angielskim.
  • Odpowiedz
@1349:
Uczę się z ms docs po ang i z polskich materiałów, żeby to lepiej zrozumieć. Pierwszy raz po prostu coś takiego zauważyłem, w ms docs akurat tak nie pokazywali z tym Entity. Z tego co rozumiem to po prostu dziedziczy sobie do każdej klasy pole Id.
  • Odpowiedz
@1349:
W jaki sposób korzystasz z lazy loading? Wstrzykiwanie do konstruktora, czy słowo kluczowe virtual i metoda OnConfigure? Ten pierwszy sposób jest bardzo zagmatwany
  • Odpowiedz
@vanguard2727: Raczej staram się unikać lazy loadingu. Szybko prowadzi do n+1 problemów. Najlepiej robić wyspecjalizowane dtosy oraz korzystać z metody include z dbcontext kiedy chcesz pobrać coś wymaganego dla danej funkcjonalności.
  • Odpowiedz
@1349:
Tak myślałem, dziekuje za rade. Jeszcze jedno pytanie, masz może jakiś link gdzie jest dobrze wytłumaczony n+1 problem? Jak nie to spoko z czasem może coś znajdę, zawsze warto spytać. Jeszcze raz dzięki.
  • Odpowiedz
@1349: pytanko w temacie modeli relacyjnych: czy nhibernate jest jeszcze wciaz wybierane, jezeli mamy do dyspozycji ef core w obecnej fazie rozwoju?
  • Odpowiedz
@grap32: NHibernate widziałem tylko w starych projektach które mają powyżej 10 lat. Ef Core jest standardem. Można jeszcze brać pod uwagę dapper ale to jest mikro orm.
  • Odpowiedz
@grap32: Dapper jest głównym narzędziem twórców stackoverflow. Operowanie ormem bez wiedzyy SQL jest proszeniem się o problemy ( ͡° ͜ʖ ͡°)
  • Odpowiedz