簡體   English   中英

SQL中的uniqueidentifier在c#中變為小寫

[英]uniqueidentifier in SQL becomes lower case in c#

我在SQL中有列(uniqueidentifier)存儲guid。 我看到它是大寫的。 但是當數據通過SP返回到C#代碼時,它變為小寫

我在數據訪問中使用實體框架。 可能是什么原因,我能避免這種轉變嗎?

如果您使用Entity Framework, uniqueidentifier數據將轉換為Guid。

此Guid的值,表示為指定格式的一系列小寫十六進制數字。

如果您的應用程序需要一致性,那么當您從Guid中獲取字符串時,可以使用一種格式。

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

可以有一個地方,你從數據庫獲取guid作為字符串,這將是無限大寫。 (檢查存儲過程視圖等..)

要避免此問題,您必須確保按原樣返回uniqueidentifier ,不轉換為varchar,並在轉換為字符串時遵循一種擱淺格式。

對於比較等其他操作。你可以使用Guid操作符..

我懷疑SQL Server將uniqueidentifier存儲為128位整數,然后將其轉換為十六進制以供顯示。 正如亞歷山大所說,無論它是以大寫還是小寫顯示這個十六進制值都沒關系,因為它們代表相同的東西。

如果它對您的應用程序很重要,那么您可以在C#中將其轉換為大寫而不會出現問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM