【发布时间】:2011-11-06 07:13:16
【问题描述】:
我很长时间以来一直在使用企业库。我们正在将数据库中的列类型 varchar 更改为 nvarchar 以支持不同的语言。我们确实有一些遗留代码使用传统方式连接到数据库,例如使用命令对象。在该代码中,当创建 sqlparameters 时,指定参数的数据类型是 int 还是 varchar。在那里从 varchar 更改为 nvarchar 很容易。
但我想知道在使用企业库时我们指定.net 数据类型(如字符串),我相信企业库在调用存储过程时会在内部将该类型转换为 sqldatatype。
db.AddInParameter(cmd, "@SortOrder", DbType.String, SortOrder)
企业库内部转换什么数据类型? varchar 还是 nvarchar?在我们拥有的遗留代码中的所有地方都使用 nvarchar 是否安全?
【问题讨论】:
-
不用担心数据类型转换.net会自动处理并处理
-
那为什么我们在创建 sqlparameter 对象或调用 AddInParameter 时指定数据类型(如果 .net 负责)?
-
.net 能够转换那些可以相互转换的数据类型。例如它将二进制数组转换为图像或字符串转换为文本。
标签: c# .net ado.net enterprise-library