ravendb/ravendb — pull request #408 by jochenz (2011-12-07 22:45:47+00:00)
Title: Fix to make Load<T>(ValueType id) work on sharded sessions

When using entities with non-string ids, I was not able to use Load(ValueType id) on a sharded session. The reason was that the ShardResolutionStrategyData only transferred string type keys, so the method used above could not use that.
ShardResolutionStrategyData was updated to transfer OR a string key OR a ValueType key. Two properties (HasStringKey & HasValueTypeKey) helping to check which key to use in the ShardResolutionStrategy were added to ShardResolutionStrategyData. If someone has a nicer solution, feel free, but this solution was backwards compatible.
ShardedDocumentSession.Load(string key) and ShardedDocumentSession.Load(ValueType id) now basically use the same logic.