【问题标题】:Does Microsoft Jet DB work with Entity Framework?Microsoft Jet DB 是否与实体框架一起使用?
【发布时间】:2012-06-25 20:57:41
【问题描述】:

在这个论坛here 中,有人提到实体框架不适用于 Access (Jet DB - .mdb)。但是,正如here 所述,似乎有一个 Jet DB 提供程序

这让我觉得我在实体框架中唯一需要做的就是在定义模型之前定义以下内容:

<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 一起正常工作,我想在开始之前确保它可以正常工作,因为我的设计文档取决于这个事实。

谢谢

【问题讨论】:

  • 这是 ADO.NET 的提供者,但不是 EF 的提供者(您需要多一个提供者)。不支持 MS Access。如果您需要本地数据库,请使用 SQL Server CE 或 SQL Server Express。

标签: entity-framework ms-access jet jet-ef-provider


【解决方案1】:

Entity Framework 不支持 OLEDB 连接,因此您的连接字符串将不起作用。让 Entity Framework 与 MS Access 协作几乎是不可能的。您将需要转储设计的 MS Access 部分或实体框架部分。

使用 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

【讨论】:

  • 您知道任何为 jet db 编写的与实体框架一起工作的开源提供程序吗?谢谢
  • 遗憾的是没有。就像我说的,你将不得不放弃你的设计元素之一,MS Access 或 EF。
【解决方案2】:

这里有一个 MS Access EF 6.1 提供程序
https://jetentityframeworkprovider.codeplex.com/

编辑
现在,Access 的 EF 提供程序托管在 GitHub 上
https://github.com/bubibubi/JetEntityFrameworkProvider

【讨论】:

  • "它支持代码优先,但在当前版本中不支持数据库优先。"干得好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 2016-03-09
相关资源
最近更新 更多