It all depends on my favorite answer to the question! =)
In most cases, we use Guids. Although they are larger, larger than int, tinyint, etc., I like the fact that my business objects can know what value is before by inserting records into the database.
In other cases, I can use strings for things like a client identifier, where when working with a database, it can be easily recognized .
source share