首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库管理库

数据库管理库
EN

Stack Overflow用户
提问于 2013-03-20 15:27:57
回答 3查看 3.6K关注 0票数 7

在我们公司,我们与不同项目的数据库系统(MySQL、MSSQL、PL/SQL、SQlite和SQLCe)协同工作。正因为如此,我们开发了一个库,它将所有东西都放在一个很好的界面中,在这个界面上,我们可以连接到每个数据库,而不用担心哪个数据库现在落后了。但是这个库总是需要在客户端计算机上安装每个数据库,因为.Net坚持(因为参考资料)。因此,我们使用MEF创建数据库插件,其中应用程序只在启动时加载适当的插件,而我们不需要在主机系统上安装任何其他数据库系统。

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

我的问题是:

有没有免费的/开源的C#库来接管这个任务呢?在这种情况下,我们可以完全控制我们的数据库,而不用考虑现在落后的是哪个数据库?

EN

回答 3

Stack Overflow用户

发布于 2013-03-20 15:38:03

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

  • NHibernate
  • Entity framework

查看this站点,查看常用ORM库的功能和性能比较

票数 4
EN

Stack Overflow用户

发布于 2013-03-20 15:31:17

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

票数 0
EN

Stack Overflow用户

发布于 2013-03-20 15:41:27

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15517676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档