Czy warto korzystać z Entity Framework?

0

Dzień dobry,
na chwilę obecną do pracy z bazą danych używam Drappera, ale zastanawiam się czy w kolejnych projektach nie przejść na Entity Framework, jednak z tego co czytałem to niby ten Entity ma słabą wydajność i tak zastanawiam się czy warto w to wchodzić.
Pozdrawiam,
Łukasz

1

Pytasz dzika czy s*a w lesie. Zależy, co potrzebujesz.

Jak Ci zależy na szybkości i masz siłę i czas i chęci utrzymywać migracje bazy, żeby Ci sie schema nie rozjechala to możesz zostać przy tym co masz.
Jak Ci zależy na skupieniu się na logice to EF jest spoko - też ma swój próg wejścia, ale wiele tematów abstrachuje.

To jest pytanie na zasadzie - czy wolisz jechać w przygodę Defenderem (prawdziwą terenówką i mieć full kontrolę nad zapytaniami, ale jak się pojawi asfalt to płacz, bo głośno i źle się prowadzi) czy SUVikiem, co ma dołączany napęd (na pewno wygodniej po asfalcie, ale w grząskim terenie nijak do Defendera).

Nie ma jednoznacznej odpowiedzi - musisz odpowiedzieć sobie sam.

Czy warto? Warto - sporo się nauczysz odnośnie tego, jak to działa u podstaw, poznasz parę ciekawych terminów, pobawisz się atrybutami i interfejsami, pooglądasz fluent API...

1

To zależy. Jak masz appke typowo crudowa to chyba warto. Ale jak masz tylko trochę zapytań do bazy danych to moim zdaniem przerost formy na treścią. Ogólnie nie przepadam za nim ale duże firmy mają i używają.

2

Imo warto.

Zalety:

Upraszcza kod - nie tylko querki się bajecznie piszę z użyciem LINQ, ale również jakieś inserty. Updaty robi tylko dla tych pól, które uległy zmianie, więc nie trzeba samemu logiki do tego klepać.

Zamiast stringly typed SQLa mamy prawdziwe typy, a więc wiele błędów z runtime nam odpada.

Tam gdzie trzeba naklepać z ręki SQL (bo np. EF słaby generuje), to nikt nie broni napisać do z ręki.

Wady:

Wysoki poziom wejścia

Nadal wypadałoby znać SQL

Wypada zerkać na wygenerowany SQL

Mogą być różnice w zachowaniu pomiędzy wersjami EFa i czasem trzeba coś pozmieniać.

1

Używam EF we wszystkich apkach z połączeniem do bazy i jeszcze nigdy nie miałem jakiegoś większego problemu. Jak jest jakieś sporawe query wymagające optymalizacji zawsze można napisać procedurę na bazie i z niej korzystać. Sam fakt że można pisać query używając C# zamiast SQL'a jak i updatować scheme bazy na podstawie kodu uważam za największy plus dla ludzi którzy nie przepadają za siedzeniem w bazie.

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