7

在我们公司,我们与多个数据库系统(MySQL、MSSQL、PL/SQL、SQlite 和 SQLCe)一起用于各种项目。正因为如此,我们开发了一个库,它将所有内容都放入一个漂亮的界面中,我们可以连接到每个数据库,而不必担心现在落后哪个数据库。但是这个库总是需要在客户端计算机上安装每个数据库,因为 .Net 坚持这样做(因为引用)。因此,我们使用 MEF 创建数据库插件,其中应用程序仅在启动时加载适当的插件,我们不需要在主机系统上安装任何其他数据库系统。

无论如何,由于每个数据库的差异,我们仍然很挣扎。假设我们想要在目标数据库中自动生成所需的表和数据(如果它们不可用)的过程。或者,如果不同的数据库使用不同的数据类型。事情变得非常复杂,就目前而言,我们也有兴趣使用似乎无法处理 MySQL、SQlite 和 PL/SQL 的 LINQ2SQL。

我的问题:

是否有任何免费/oss C# 库可以接管此任务?我们在哪里可以完全控制我们的数据库,而无需考虑现在落后于哪个数据库?

4

3 回答 3

4

任何成熟的 ORM 库都可以完成这项工作

查看站点以查看流行 ORM 库的功能和性能比较

于 2013-03-20T07:38:02.937 回答
0

实体框架可以满足您的所有需求。这个框架有许多数据库引擎的提供者,它也有迁移机制,可以根据你的模型为你的应用程序调整数据库。

于 2013-03-20T07:31:17.337 回答
0

NHibernate 将是我的选择。如果通过 Castle ActiveRecord 层访问它会更容易使用。

于 2013-03-20T07:41:27.457 回答