Работает ли база данных Microsoft Jet с Entity Framework?

В этом форуме здесь , кто-то упоминает, что Entity Framework не работает с Access (Jet DB - .mdb). Однако похоже, что существует поставщик для Jet DB, как описано здесь.

Это заставляет меня думать, что единственное, что мне нужно с Entity Framework, это определить следующее, прежде чем я определяю модели:

<connectionStrings>  
    <add name="ProductContext"
         providerName="Microsoft.Jet.OLEDB.4.0"
         connectionString="Source=C:\mydatabase.mdb;Jet OLEDB:Database
                           Password=MyDbPassword;"/>
</connectionStrings> 

Кто-нибудь знает, нормально ли Entity Framework работает с Jet DB, я хочу убедиться, что это так, прежде чем я начну, поскольку мой проектный документ зависит от этого факта.

Спасибо


person Saher Ahwal    schedule 25.06.2012    source источник
comment
Это провайдер для ADO.NET, но не для EF (вам нужен еще один провайдер). MS Access не поддерживается. Если вам нужна локальная база данных, используйте SQL Server CE или SQL Server Express.   -  person Ladislav Mrnka    schedule 26.06.2012


Ответы (2)


Entity Framework не поддерживает подключения OLEDB, поэтому ваша строка подключения не будет работать. Практически невозможно заставить Entity Framework сотрудничать с MS Access. Вам нужно будет либо сбросить часть MS Access вашего проекта, либо часть Entity Framework.

Самое близкое, что вы можете получить с помощью MS Access, — это использовать строго типизированные наборы данных и Linq-to-DataSet http://msdn.microsoft.com/en-us/library/bb386977.aspx

Или, рассматривая вместо этого использование SQL Express (это бесплатно) http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

person EkoostikMartin    schedule 25.06.2012
comment
Знаете ли вы о каких-либо поставщиках с открытым исходным кодом, написанных для jet db для работы с Entity Framework? Спасибо - person Saher Ahwal; 26.06.2012
comment
Их нет к сожалению. Как я уже сказал, вам придется отказаться от одного из элементов вашего дизайна, MS Access или EF. - person EkoostikMartin; 26.06.2012

Здесь есть провайдер MS Access EF 6.1
https://jetentityframeworkprovider.codeplex.com/

ИЗМЕНИТЬ
Теперь поставщик EF для Access размещен на GitHub
https://github.com/bubibubi/JetEntityFrameworkProvider

person bubi    schedule 01.12.2014
comment
Сначала он поддерживает код, но в текущем выпуске он не поддерживает сначала базу данных. хорошо сделано. - person sendreams; 23.04.2015