Looking at the .NET guid class , there are several ways to initialize a guid:
Guid (Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte) Guid (string)
Although it is theoretically possible to store an integer more efficiently in a database (you can use bit offsets to really store 4 32-bit integers. But you would need to calculate this when loading and saving each. In addition, there would be 4 fields in the database. I I would suggest that this would be less effective.
Add inability to read this directly in your database for debugging / testing purposes, and I would say that it is best to store a string. This is just a 32-character field (36 if you include a dash) and it is very easy to convert. guid ToString () and the new Guid (stringValue);
source share