在C#中,我应该使用什么数据类型来处理SQL Server的 uniqueidentifier ?
我需要进行任何转换吗?
在C#中,我应该使用什么数据类型来处理SQL Server的 uniqueidentifier ?
我需要进行任何转换吗?
不需要进行转换。
System.Guid
从数据库读取可空唯一标识符(Uniqueidentifier)列时,务必在尝试分配给 Guid 实例之前检查该值是否为 null,因为 Guids 不可空。例如:
... /// 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。