【问题标题】:How to use Entity framework for MS Access database如何为 MS Access 数据库使用实体框架
【发布时间】:2012-07-11 12:18:03
【问题描述】:

我必须在 C#.Net 4.0 中开发一个桌面 windows 应用程序,它将在三个不同的数据库中运行,即。 MS Access 2007 及更高版本、Oracle 11G 和 SQL Server 2008。现在我想在我的应用程序中使用实体框架。这是在我的应用程序中使用 EF 的最佳选择吗? 如果是,那么如何使用 Access 数据库的实体框架? 提前致谢。

【问题讨论】:

    标签: entity-framework c#-4.0 jet-ef-provider


    【解决方案1】:

    您可以通过 Microsoft Access 的实体框架提供程序将 EF 与 Microsoft Access 一起使用。 您可以为 Access 找到 EF 提供程序

    https://github.com/bubibubi/JetEntityFrameworkProvider

    【讨论】:

    • 嗨 - 我首先按照 db 的说明进行操作,但是当我定义 ADO 实体框架时 - 除了 SQL Server 连接之外,我没有任何数据提供者选项。我已经更改了机器配置(我在 64 位上运行)
    • 要使用 DBFirst,您需要从源代码编译(在编译期间,提供程序已在 Visual Studio 2013 中注册)。请您就这个问题提出一个具体的问题吗?
    • Codeplex 正在关闭,因此如果 Codeplex 不存在,则转到 bubibubi/JetEntityFrameworkProvider 或在 NuGet 中搜索 JetEntityFrameworkProvider。
    【解决方案2】:

    请参阅this 答案。问问自己为什么需要 Access,你能改用 SQL Express 吗?如果您绝对需要 Access,那么在这种情况下,EF 似乎不是正确的选择。

    暂时将 Access 放在一边,完全可以使用 EF 更改数据提供者(尤其是代码优先),因为 EF 从您的代码中提取了很多数据库内容;根据数据库设计,它可以像动态更改连接字符串一样简单。这实际上确实取决于您的数据库设计以及您正在构建的应用程序的性质和复杂性。以this 问题为例,这里以another 为例。

    【讨论】:

    • 那么对于上述情况应该采取什么措施?必须使用Access数据库。
    • 那么什么是上述场景的正确解决方案。任何建议将不胜感激。
    • 下一层是 ADO.NET。这不是 ORM,而只是你在 ORM 出现之前所做的事情。您无法使用 Access 完成所有其他 DBMS(如 DDL)可以执行的所有操作,但除此之外它在这里工作得很好。
    • 您可能需要 Access,因为托管公司不支持 MS SQL。奇怪的是 2014 年的托管公司。
    • @LonelyPixel 您可以将 DDL 与 Access 一起使用。 (我现在正在为 Access 兼容的 ORM 设置测试用例。)
    【解决方案3】:

    在使用 MS Access 时,我们使用 Dapper 作为我们的 ORM 和存储库。太棒了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多