一个库支持多个数据库

发布于 2024-10-01 08:10:51 字数 130 浏览 3 评论 0原文

我正在使用 C# 4.0 开发一个 Windows 窗体应用程序,该应用程序将针对不同的数据库引擎,如 SQL、MySQL 和 Oracle,我想知道是否有一个库可以与所有三个引擎通信,而不是为每个引擎实现我自己的层。

提前致谢。

Im developing a windows forms application using C# 4.0 and that application is going to target different database engines like SQL, MySQL and Oracle i was wondering if there is a library that can talk to all the three engines instead of implementing my own layers for every one.

thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

衣神在巴黎 2024-10-08 08:10:51

你可以使用 ORM 工具;我喜欢 NHibernate 但还有更多:请参阅 维基百科上的列表

You could use an ORM tool; I like NHibernate But there are many more: see a list at wikipedia.

独行侠 2024-10-08 08:10:51

问题是,如果您想做任何远程高级操作(日期算术、生成主键、获取最后插入记录的 id、透视表、使用 RANGE 构造等),那么两个数据库都使用完全不同的语法。

最好的解决方案(至少在java世界中是Ibatis或Hibernate)我知道有一个.NET版本的Hibernate,但我不确定Ibatis。

这些库将您的程序与各种 SQL 方言隔离开来,并提供独立于底层数据库的通用 API。

The problem is if you want to do anything remotely advanced (date arithmatic, generate primary keys, get the id of the last inserted record, pivot a table , use RANGE construct etc.) then both databases use completely different syntax.

The best solution (in the java world at least is either Ibatis or Hibernate) I know there is a .NET version of Hibernate I am not sure about Ibatis.

These libraries insulate your program from the various SQL dialects and provide a common API independent of the underlying database.

看海 2024-10-08 08:10:51

如果您使用 System.Data.Common 中的类您可以使代码数据库独立:

在 ADO.NET 中编写独立于提供程序的代码

If you use the classes in System.Data.Common you can make your code database independent:

Writing Provider Independent Code in ADO.NET

萌能量女王 2024-10-08 08:10:51

我不懂 C#,但我知道它会有一个 ODBC 库。

看起来微软有一个这里

它很旧,但实际上它的工作效果很好。事实上,现有的每个数据库都提供了 ODBC 驱动程序。

I don't know C#, but I know it will have a library for ODBC.

It looks like MS has one here.

It's old, but actually it does the job just fine. Virtually every DB in existence provides an ODBC driver.

岁吢 2024-10-08 08:10:51

查看 DbLinq

DbLinq 是 LINQ 提供程序,允许使用通用数据库
接近 Linq to SQL 的 API。目前它支持(按顺序
外观):MySQL、Oracle、PostgreSQL、SQLite、Ingres、Firebird...
仍然是 SQL Server。

Checkout DbLinq.

DbLinq is THE LINQ provider that allows to use common databases with
an API close to Linq to SQL. It currently supports (by order of
appearance): MySQL, Oracle, PostgreSQL, SQLite, Ingres, Firebird...
And still SQL Server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文