2010-03-11 10 views
5

Niedawno słyszałem, że "fanboyi" różnych metodologii .NET ORM wyrażają silne, jeśli nie dziwaczne, opozycje innych metod ORM. I szczerze mówiąc, czuję się trochę w ciemności.Zalety metod dostępu do danych .NET ORM Enity Framework vs. NHibernate vs. Subsonic vs. ADO.NET Datasets

Czy możesz wyjaśnić kluczowe zalety każdego z tych rozwiązań .NET ORM?

  1. Entity Framework
  2. NHibernate
  3. subsoniczny
  4. ADO.NET zestawów danych

mam dobre zrozumienie 1 & 4 i pobieżne zrozumienie 2 & 3, ale widocznie nie wystarczy, aby zrozumieć dorozumiane kulturowe postrzeganie jednego wobec drugiego.

+1

Dobre pytanie ... chociaż obawiam się, że mafia CW może je zamknąć ... :) –

Odpowiedz

1

Tego typu pytanie pojawia się coraz częściej. Możesz przeczytać więcej na temat różnych ORMs patrząc na linków dostępnych w tej kwestii:

NHibernate, Entity Framework, active records or linq2sql

Te ORMs są zmieniające się w czasie i są one dość skomplikowane, dlatego każda próba podjęcia migawkę kluczowych meritum jest mało prawdopodobne, by było wiele warte.

NHibernate to najbardziej bogaty w funkcje. EFv4 to następny najbardziej bogaty w funkcje (a obecnie około miesiąca od faktycznego wydania). Subsonic ma przyzwoitą ilość funkcji, ale brakuje go gdzie indziej (głębia, społeczność, wsparcie itp.). EFv3.5 nie jest wart dyskusji, ale przynajmniej niektórzy ludzie wydają się z niego zadowoleni.

Zestawy danych ADO.NET nie obsługują Linq i nie obsługują odwzorowań relacyjnych obiektów, które są zazwyczaj głównymi powodami, dla których należy wybrać ORM.

+0

Dzięki za referencje. To jest dobra lektura. – Lloyd

+0

Chciałbym przypiąć Mindscape LightSpeed ​​i LLBLGen Pro jako bardziej funkcjonalny niż EF 4, mniej bogaty niż NHibernate, ale łatwiejszy do odebrania :-) – traskjd