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

rav*_*ker 7 c# entity-framework

我在SQL中有列(uniqueidentifier)存储guid.我看到它是大写的.但是当数据通过SP返回到C#代码时,它变为小写

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

Dam*_*ith 6

如果您使用Entity Framework,uniqueidentifier数据将转换为Guid.

此Guid的值,表示为指定格式的一系列小写十六进制数字.

如果您的应用程序需要一致性,那么当您从Guid中获取字符串时,可以使用一种格式.

检查Guid.ToString方法(字符串) 以获取可用格式

可以有一个地方,你从数据库获取guid作为字符串,这将是无限大写.(检查存储过程视图等..)

要避免此问题,您必须确保uniqueidentifier按原样返回,不转换为varchar,并在转换为字符串时遵循一种搁浅格式.

对于比较等其他操作.你可以使用Guid操作符..

  • 在C#中,`Guid.NewGuid()。ToString()`以小写形式返回字符串;在SQL Server中,“ SELECT NEWID()”以大写形式返回字符串。这是为什么? (4认同)