2012-07-11 146 views
15

我必须在C#。NET 4.0中开发一个桌面Windows应用程序,它将在三个不同的数据库中运行,即。 MS Access 2007以上,Oracle 11G和SQL Server 2008.现在我想在我的应用程序中使用实体框架。这是使用EF作为我的应用程序的最佳选择吗? 如果是的话,那么我怎样才能使用Access数据库的实体框架? 在此先感谢。如何使用MS Access数据库实体框架

回答

8

请参阅this回答。问问你自己为什么需要Access,你可以使用SQL Express吗?如果你绝对需要Access,那么在这种情况下EF似乎不是正确的选择。因为EF将大量的数据库代码从代码中提取出来,所以使用EF(尤其是代码优先)更改数据提供程序是完全可能的;取决于数据库设计,它可以像动态地更改连接字符串一样简单。这样做的实际意义取决于您的数据库设计以及您正在构建的应用程序的性质和复杂性。例如,请参阅this问题,这里是another示例。

+0

那么上述情况应该建议什么?使用Access数据库是必须的。 – 2012-07-18 07:21:46

+0

如果Access是必须的,那么我不认为EF是正确的选择...... – Simon 2012-07-18 09:41:38

+1

那么什么是上述情况的正确解决方案。任何建议将不胜感激。 – 2012-07-25 07:09:05

11

您可以使用EF和Microsoft Access使用Microsoft Access的实体框架提供程序。 您可以找到一个EF提供商Access https://jetentityframeworkprovider.codeplex.com/

+1

嗨 - 我首先遵循了db的指令,但是当我定义ADO实体框架时 - 我没有获得除SQL以外的任何数据提供者选项服务器连接。我改变了机器配置(我在64位上运行) – user1286399 2016-01-04 21:20:48

+0

要使用DBFirst,您需要从源代码编译(在编译过程中,提供程序在Visual Studio 2013中注册)。你能否提出一个具体的问题? – bubi 2016-01-05 07:02:26

+1

Codeplex正在关闭,因此如果Codeplex不存在,请转至[bubibubi/JetEntityFrameworkProvider](https://github.com/bubibubi/JetEntityFrameworkProvider)或搜索NuGet以获取JetEntityFrameworkProvider。 – user34660 2017-09-10 18:54:08

5

我们使用Dapper作为我们的ORM与存储库使用MS Access时。这是梦幻般的。