SqlDataReader SqlTypes 和 DbType 类型的访问器有什么区别?
What is the difference between SqlDataReader SqlTypes and DbType typed accessors?
SqlDataReader SqlTypes 和 DbType 类型的访问器有什么区别?
什么时候使用更合适?
如果您的代码需要与提供程序无关并针对多个数据库系统工作,您应该避免使用 SQL 服务器特定功能,您的代码根本不应引用 SqlDataReader
。它应该使用中性类型,例如 DbDataReader
然后只有 GetDecimal
方法可用。
另一方面,如果您乐于将您的实现具体绑定到 SQL 服务器,或者您已经必须特定于实现,那么我建议使用 SQL 服务器特定访问器(例如 GetSqlDecimal
)和类型,因为它们更具体地与 SQL 服务器数据类型对齐。
SqlDataReader SqlTypes 和 DbType 类型的访问器有什么区别?
什么时候使用更合适?
如果您的代码需要与提供程序无关并针对多个数据库系统工作,您应该避免使用 SQL 服务器特定功能,您的代码根本不应引用 SqlDataReader
。它应该使用中性类型,例如 DbDataReader
然后只有 GetDecimal
方法可用。
另一方面,如果您乐于将您的实现具体绑定到 SQL 服务器,或者您已经必须特定于实现,那么我建议使用 SQL 服务器特定访问器(例如 GetSqlDecimal
)和类型,因为它们更具体地与 SQL 服务器数据类型对齐。