I have an IReliableDictionary and need to take the items in the dictionary and move them in to an IList to return from my reliable service.
It seems I can\'t do a .T
IReliableDictionary (just like an IDictionary) is IEnumerable of key value pairs, so you can go this way:
public async Task<IList<CustomerOrderItem>> GetOrdersAsync()
{
IReliableDictionary<CustomerOrderItemId, CustomerOrderItem> orderItems =
await this.StateManager.GetOrAddAsync<IReliableDictionary<CustomerOrderItemId, CustomerOrderItem>>(CustomerOrderItemDictionaryName);
var list = orderItems.Select(kvp => kvp.Value).ToList();
return list;
}
IReliableDictionary<K,V>
implements IEnumerable<KeyValuePair<K, V>>
, so you can do a ToList
.
Maybe ensure the namespace is imported.