[英]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.