C# Program z wykorzystaniem bazy danych

Nie, ale ja nie używam najgorszej dostępnej bazy na rynku. :slight_smile:

Podejście “automatyczne” jest dobre dla małych programików. W czymś poważniejszym wolę jednak mieć prawdziwego ORMa i go samodzielnie skonfigurować, bez kreatorów, które nie zawsze potrafią zrobić to, czego potrzebuję.

ADO .NET Entity to nie jest prawdziwy ORM? Ale skoro tak uważasz i go nie używasz to jaki był sens tej dyskusji? Dla mnie EOT.

Sens dyskusji jest taki, że autor może z niej wyciągnąć jakieś wnioski dla siebie.

Podejściem “automatycznym” nazywam wszystko to, co wbudowane w VS designery potrafią zrobić, czyli: DataSet (których chce używać autor), LINQ to SQL i ADO.NET EF (z którym nagle wyskoczyłeś obrażony, jakby to nie wiadomo jaki cud techniki był).

Zagadnienia związane z EF, przez które nie był stosowany w mojej poprzedniej pracy:

  1. zwięzłość generowanego SQL;

  2. możliwości konfiguracji cache;

  3. wydajność;

  4. brak dziedziczenie tabel;

  5. brak “interceptorów”;

  6. ograniczone możliwości tworzenia zapytań, brak własnego języka.

Ponoć EF poszedł do przodu, ale nadal jest młodszym i mniej dojrzałym produktem niż nHibernate, który też w miejscu nie stoi, i który chyba jeszcze długo będzie popularniejszy.

W prawdziwym świecie komponenty przeciągnięte z designera nie zawsze się sprawdzają trzeba samemu przemyśleć, co jak zmapować, co kiedy wczytywać, co zoptymalizować pisząc zapytanie ręcznie. ORM musi te sprawy ułatwiać, nie utrudniać. A same designery też potrafią nieźle namieszać…