ADO.NET Entity Framework с источником данных доступа OLE DB - PullRequest
20 голосов
/ 14 февраля 2010

Кто-нибудь нашел способ заставить ADO.NET Entity Framework работать с источниками данных OLE DB или ODBC? В частности, мне нужно работать с базой данных Access, которая по разным причинам не может быть преобразована в SQL.

Эта страница MSDN говорит:

.NET Framework включает поставщиков ADO.NET для прямого доступа к Microsoft SQL Server (включая поддержку Entity Framework) и для косвенного доступа к другим базам данных с драйверами ODBC и OLE DB (см. Поставщики данных .NET Framework). Для прямого доступа к другим базам данных доступны многие сторонние поставщики, как показано ниже.

Ссылка на «косвенный доступ к другим базам данных» заманчива, но я признаюсь, что меня безнадежно смущают различные названия технологии доступа к данным.

Ответы [ 3 ]

1 голос
/ 01 марта 2012

Насколько я знаю, это невозможно с помощью структуры сущностей. Однако вы можете использовать linq для набора данных для доступа к вашей базе данных Access (без каламбура).

http://msdn.microsoft.com/en-us/library/bb386977.aspx

1 голос
/ 01 декабря 2014

EF не может использовать OLE DB напрямую, потому что поставщик EF должен преобразовать c # в определенный синтаксис SQL (OLE DB - это соединение с несколькими СУБД с несколькими синтаксисами SQL).

Если вам нужен поставщик EF 6.1 для MS Access, вы можете посмотреть здесь https://jetentityframeworkprovider.codeplex.com/

0 голосов
/ 15 августа 2011

Я не очень уверен насчет использования Access с EF в частности, но представляется возможным использовать linq с доступом. http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/985a1048-cf56-4bb0-b664-61fbf4957890

...