我从 SQLServer 数据库开始。所以看来我应该使用System.Data.SqlClient
命名空间。但是,我们有可能关闭 SqlServer 数据库并转到 MySql 或 Oracle。因此,我提出了一套有关 .Net 应用程序如何与数据库通信的标准,以便将来在需要时更容易迁移到不同的数据库系统。
所以这里是标准:
- 如果可能的话使用 ORM(例如
NHibernate)(没有 LINQ,因为它只是
支持SqlServer,但是呢
实体框架及其支持
Oracle 和 MySql?)
- 如果 ORM 太过分了,那么使用参数化 SQL 查询。
- 仅将存储过程用于长时间运行或复杂的操作
需要在
数据库。
这让我想到了我的手头的主要问题。
我应该使用哪个命名空间来编码我的 DAL?
在我看来,选择是System.Data.ODBC
and System.Data.OleDB
:
- 有哪些权衡?
- 其中一个比另一个更受青睐吗?
- 您对前 3 个标准有何看法?
系统.数据.SQLClient
仅连接到 SQL Server 2000 及更高版本,但在连接到这些数据库时您将获得最佳性能。
系统.数据.Oledb 客户端
连接到 SQL 6.5
OLEDBClient 使您能够连接到其他数据库,例如 ORACLE 或 Access。但是对于使用 SQL Server,您将使用 SQLClient 获得更好的性能。
注意:为了连接ORACLE,微软也有ORACLEClient。
系统.数据.ODBCClient
使用 ODBC 驱动程序仅连接到旧数据库。 (例如 MS Access 97。)
原始来源 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b1cf6249-cbc2-4ab7-90d9-dbea8acf523a/what-is-the-difference-between-systemdatasqlclient-systemdataoledbclient-and?forum=sqldataaccess
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)