2008-12-05 20 views
12

Czy istnieje szczególny powód, że EF wymaga nowych dostawców danych i nie może korzystać z ODBC? Pomyślałem, że to musi być jakiś specyficzny problem ORM, ale NHibernate działa dobrze przez ODBC.Dlaczego firma Entity Framework nie obsługuje ODBC?

Używam NHibernate i mogę nadal używać Nhibernate, ale martwię się, że nie mogę przyjąć wiedzy Nhibernate dla przyszłych programistów.

Odpowiedz

13

Entity Framework nie wymaga dokładnie nowych dostawców danych. Raczej wymaga to dostawców Entity Framework, którzy rozszerzają istniejących dostawców danych, aby zapewnić dodatkowe usługi wymagane przez Entity Framework, takie jak złożone generowanie kodu SQL, które nie są częścią istniejącego modelu danych ADO.NET. Nie sądzę, że jest coś, co powstrzymałoby kogokolwiek przed napisaniem dostawcy Entity Framework dla ODBC w oparciu o istniejący most ODBC ADO.NET 2.0. Możesz pobrać the source code for a sample SQL Server provider, aby uzyskać więcej informacji o tym, jakie usługi są wymagane przy rozszerzaniu istniejącego dostawcy ADO.NET dla Entity Framework.

+0

Dzięki! Generowanie kodu SQL wydaje się nietrywialne. Zastanawiam się, czy MS współpracuje z Oracle/IBM na ich dostawców. Wygląda na to, że w przypadku większości przypadków zapytań będzie dużo nakładek. – anonymous

+0

Cóż, ODBC już generuje dużo SQL, więc byłoby łatwiej z ODBC niż z [wstaw tutaj losowy serwer DB.] –

+4

To dziwne, że Microsoft przeoczyłby to. W końcu wymyślili ODBC, a wszystkie produkty bazodanowe nadal go wspierają. –