数据库管理库

本文关键字:管理 数据库 | 更新日期: 2023-09-27 18:04:43

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

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

我的问题:

是否有任何免费/oss c#库来接管这项任务?我们可以完全控制我们的数据库,而不用考虑哪个数据库现在落后了?

数据库管理库

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

  • NHibernate
  • 实体框架

查看此站点查看流行ORM库的特性和性能比较

实体框架做你需要的一切。这个框架提供了许多数据库引擎,还提供了迁移机制,可以根据模型调整应用程序的数据库。

NHibernate是我的选择。如果您通过Castle ActiveRecord层访问它,则使用起来更容易。