我从一个 SQLServer 数据库开始。所以看起来我应该使用System.Data.SqlClient
命名空间。但是,我们可能会关闭 SqlServer 数据库并转到 MySql 或 Oracle。出于这个原因,我提出了一套关于我们的 .Net 应用程序如何与数据库通信的标准,以便将来在需要时更容易迁移到不同的数据库系统。
所以这里是标准:
- 尽可能使用 ORM(例如 NHibernate)(没有 LINQ,因为它只支持 SqlServer,但是实体框架及其对 Oracle 和 MySql 的支持呢?)
- 如果 ORM 是一种过度杀戮,那么使用参数化 SQL 查询。
- 仅将存储过程用于需要在数据库上执行的长时间运行或复杂的操作。
这让我想到了我手头的主要问题。 我应该使用哪个命名空间来编码我的 DAL?
在我看来,选择在System.Data.ODBC
和之间System.Data.OleDB
:
- 有哪些取舍?
- 一个比另一个更受欢迎吗?
- 您对前 3 个标准有何看法?