/// <summary> /// Given a list of Models with ShardChld keys, returns a distinct list of shard Ids, except for the shard Id of the current shard. /// Useful for querying foreign shards after the primary shard has returned results. /// </summary> /// <param name="records">The list of ShardKeys to evaluate.</param> /// <returns>A ShardsValues collection, with the shards listed. The values dictionary will be null.</returns> public ShardsValues ForeignShards <TModel>(List <TModel> records) where TModel : IKeyedModel <TRecord, TChild, TGrandChild, TGreatGrandChild> => ShardsValues.ShardListForeign <TRecord, TChild, TGrandChild, TGreatGrandChild, TModel>(_key.ShardId, (IList <TModel>)records);
/// <summary> /// Given a list of ShardKey values, returns a distinct list of shard Ids, except for the shard Id of the current shard. /// Useful for querying foreign shards after the primary shard has returned results. /// </summary> /// <param name="records">The list of ShardKeys to evaluate.</param> /// <returns>A ShardsValues collection, with the shards listed. The values dictionary will be null.</returns> public ShardsValues ForeignShards(List <ShardKey <TRecord, TChild, TGrandChild, TGreatGrandChild> > records) => ShardsValues.ShardListForeign <TRecord, TChild, TGrandChild, TGreatGrandChild>(_key.ShardId, (IList <ShardKey <TRecord, TChild, TGrandChild, TGreatGrandChild> >)records);
/// <summary> /// Given a list of ShardKey values, returns a distinct list of shard Ids, except for the shard Id of the current shard. /// Useful for querying foreign shards after the primary shard has returned results. /// </summary> /// <param name="records">The list of ShardKeys to evaluate.</param> /// <returns>A ShardsValues collection, with the shards listed. The values dictionary will be null.</returns> public ShardsValues ForeignShards(List <ShardKey <TRecord> > records) => ShardsValues.ShardListForeign <TRecord>(_shardId, (IList <ShardKey <TRecord> >)records);
/// <summary> /// Given a list of Models with ShardKey keys, returns a distinct list of shard Ids, except for the shard Id of the current shard. /// Useful for querying foreign shards after the primary shard has returned results. /// </summary> /// <param name="records">The list of ShardKeys to evaluate.</param> /// <returns>A ShardsValues collection, with the shards listed. The values dictionary will be null.</returns> public ShardsValues ForeignShards <TModel>(List <TModel> records) where TModel : IKeyedModel <TRecord> => ShardsValues.ShardListForeign <TRecord, TModel>(_shardId, (IList <TModel>)records);
/// <summary> /// Given a list of ShardKey values, returns a distinct list of shard Ids, except for the shard Id of the current shard. /// Useful for querying foreign shards after the primary shard has returned results. /// </summary> /// <param name="records">The list of ShardKeys to evaluate.</param> /// <returns>A ShardsValues collection, with the shards listed. The values dictionary will be null.</returns> public ShardsValues ForeignShards(IList <ShardKey <TRecord, TChild> > records) => ShardsValues.ShardListForeign <TRecord, TChild>(_key.ShardId, records);