You should really check this article in the docs, that covers multiple field identity for classes.
To summarize the article in the doc, you must provide an object identity class which holds all the fields your key consists of. Then decorate the class to use this identity class.
When you want to use the GetObjectById you pass an instance of the object identity class (filled with the keys you want to do a lookup on) as parameter.