private InternalFederatedTO GenerateFederatedKey(int idx)
{
InternalFederatedTO result = new InternalFederatedTO();
// we need two keys ;)
var firstKey = _keyToAliasMap.Keys.FirstOrDefault();
ICollection<string> entry1Columns = null;
// fetch alias key first ;)
if(firstKey != null)
{
var magicKey = _keyToAliasMap[firstKey];
var sk1 = new StorageKey(magicKey.MasterKeyID, idx + magicKey.MasterKey);
entry1Columns = _keyToAliasMap.Keys;
result.ParentKey = new FederatedStorageKey { TheKey = sk1, ImpactedColumns = entry1Columns };
// set master entry for the federation ;)
result.MasterEntry = magicKey.MasterEntry;
}
// now create the child key
var sk2 = new StorageKey(DataListKey, idx + GenerateKeyPrefix(Namespace, DataListKey));
result.ChildKey = new FederatedStorageKey { TheKey = sk2, ImpactedColumns = FilterColumns(entry1Columns) };
return result;
}