Nie, ale ja nie używam najgorszej dostępnej bazy na rynku.
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ę.
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:
zwięzłość generowanego SQL;
możliwości konfiguracji cache;
wydajność;
brak dziedziczenie tabel;
brak “interceptorów”;
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ć…