我应该在C#中使用什么数据类型来使用SQL Server uniqueidentifier 。
我是否需要任何转换等?
答案 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。