我应该在 C# 中使用什么数据类型来处理 SQL Server uniqueidentifier。
我需要任何转换等吗?
无需转换。
系统指南
从数据库中读取可为空的 Uniqueidentifier 列时,请务必在尝试分配给 Guid 实例之前检查值是否为空,因为 Guid 不可为空。例如:
... /// using recordset rs
// generates exception if rs["my_guid"] is null
Guid g = (Guid)rs["my_guid"];
// returns Guid.Empty {0000000-.....} if db value is null
Guid g = (Guid)(rs["my_guid"] ?? Guid.Empty);
等等
如果您从 SQLDataReader 获取值,请确保在尝试使用它之前对照 DBNull 检查它。有时该值也可以解释为字符串,因此您需要键入 New Guid(rs["my_guid"]) 以确保您有一个要在代码中使用的 guid。