gpt4 book ai didi

c# - 为什么不是 DbConnection 而不是 SqlConnection 或 OracleConnection?

转载 作者:IT老高 更新时间:2023-10-29 00:14:53 24 4
gpt4 key购买 nike

我是 Java 翻新者,对 C# 还很陌生。我希望在接下来的几周内编写一堆 DML 代码时不会遇到麻烦。

我习惯于使用 JDBC 的抽象类,如 Connection、Statement 等。 C# 在 System.Data.Common 命名空间中提供类似的抽象类,如 DbConnection、DbCommand 等。

但是,我在 MS 文档和其他书籍中看到的大多数示例都使用具体类:SqlConnection、OracleCommand 等。这种具体性甚至出现在 mySQL 文档中。

这方面的最佳实践是什么?是否有充分的理由为此目的选择具体的特定于表服务器的类而不是抽象类? (当然,我知道将抽象向下转换为具体的危险)。

最佳答案

抽象类不是框架的第一个版本的一部分,它们是在 2.0 版中引入的。很多例子都是在那之前写的,或者是基于之前写的例子。

使用具体或抽象类主要是个人喜好问题。编写可以与任何数据库一起使用的代码是一个好主意,但我的经验是您不会经常切换数据库系统,如果您这样做,那么您需要做的更改太多,这并不重要是否使用了抽象类。

关于c# - 为什么不是 DbConnection 而不是 SqlConnection 或 OracleConnection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5282984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com