SQL中的uniqueidentifier在c#中变为小写

本文关键字:中的 uniqueidentifier SQL | 更新日期: 2023-09-27 18:16:56

我有列(唯一标识符)在SQL存储guid。我看到它是大写的。但是当数据通过SP返回给c#代码时,它变成了小写的

我在数据访问中使用实体框架。原因是什么?我能避免这种转换吗?

SQL中的uniqueidentifier在c#中变为小写

如果您使用实体框架,uniqueidentifier数据将转换为Guid。

该Guid的值,用一系列小写字母表示指定格式的十六进制数字。

如果你需要应用程序的一致性,你可以在从Guid中取出字符串时使用一种格式。

检查 Guid。ToString方法(String)用于可用格式

可以有一个地方,你得到guid作为字符串从数据库,所以这将是无穷大的大写。(检查存储过程视图等)

为了避免这个问题,您必须确保返回uniqueidentifier原样,不要转换为varchar,并且在转换为字符串时也遵循一种搁浅格式。

对于其他操作,如比较等,可以使用Guid操作符。

我怀疑SQL Server将唯一标识符存储为128位整数,然后将其转换为十六进制显示。正如Alexander所说,无论以大写还是小写显示这个十六进制值都无关紧要,因为它们表示相同的东西。