GUIDを格納したSQLに列(一意の識別子)があります。大文字であることがわかります。ただし、データが SP を介して C# コードに返されると、小文字になります。
データ アクセスにエンティティ フレームワークを使用しています。何が原因で、この変換を回避できますか?
GUIDを格納したSQLに列(一意の識別子)があります。大文字であることがわかります。ただし、データが SP を介して C# コードに返されると、小文字になります。
データ アクセスにエンティティ フレームワークを使用しています。何が原因で、この変換を回避できますか?
Entity Framework を使用している場合、uniqueidentifier
データは Guid に変換されます。
指定された形式の一連の小文字の 16 進数として表される、この Guid の値。
アプリケーションに一貫性が必要な場合は、Guid から文字列を取得するときに 1 つの形式を使用できます。
使用可能な形式については、Guid.ToString メソッド (文字列)を確認してください
guid をデータベースから文字列として取得する場所がある可能性があるため、無限大の大文字になります。(ストアドプロシージャビューなどを確認してください。)
この問題を回避するuniqueidentifier
には、varchar に変換せず、文字列に変換するときに孤立した形式に従う必要があります。
比較などの他の操作には、Guid 演算子を使用できます。
SQL Server は uniqueidentifier を 128 ビットの整数として格納し、それを 16 進数に変換して表示していると思われます。アレクサンダーが言うように、この 16 進値を大文字で表示するか小文字で表示するかは、同じものを表しているため問題ありません。
アプリケーションにとって重要な場合は、問題なく C# で大文字に変換できます。