SQL中的uniqueidentifier在c#中变为小写
本文关键字:中的 uniqueidentifier SQL | 更新日期: 2023-09-27 18:16:56
我有列(唯一标识符)在SQL存储guid。我看到它是大写的。但是当数据通过SP返回给c#代码时,它变成了小写的
我在数据访问中使用实体框架。原因是什么?我能避免这种转换吗?
如果您使用实体框架,uniqueidentifier
数据将转换为Guid。
该Guid的值,用一系列小写字母表示指定格式的十六进制数字。
如果你需要应用程序的一致性,你可以在从Guid中取出字符串时使用一种格式。
检查 Guid。ToString方法(String)用于可用格式
可以有一个地方,你得到guid作为字符串从数据库,所以这将是无穷大的大写。(检查存储过程视图等)
为了避免这个问题,您必须确保返回uniqueidentifier
原样,不要转换为varchar,并且在转换为字符串时也遵循一种搁浅格式。
对于其他操作,如比较等,可以使用Guid操作符。
我怀疑SQL Server将唯一标识符存储为128位整数,然后将其转换为十六进制显示。正如Alexander所说,无论以大写还是小写显示这个十六进制值都无关紧要,因为它们表示相同的东西。