Why not use Guid type for the first key? It is faster to compare two Guids than two strings and there is no need for serialization/deserialization.