C#中的SQL Server唯一标识符等价物

时间:2010-01-27 17:26:48

标签: c# sql-server-2008 uniqueidentifier

我应该在C#中使用什么数据类型来使用SQL Server uniqueidentifier

我是否需要任何转换等?

3 个答案:

答案 0 :(得分:14)

的System.Guid。

无需转换。

答案 1 :(得分:14)

的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); 

答案 2 :(得分:2)

如果从SQLDataReader获取值,请确保在尝试使用之前对DBNull进行检查。有时值也可以解释为字符串,因此您需要键入New Guid(rs [“my_guid”])以确保您的代码中有一个guid。