LINQ要查询服务结构可靠集合吗?
是否有计划在Service Fabric上添加对可靠集合的LINQ支持?有人知道可以实现这一点的扩展吗?在以前的API版本中,这似乎是可能的,但现在已经不可能了。在一个可靠的字典上,您可以使用LINQ要查询服务结构可靠集合吗?,linq,azure-service-fabric,service-fabric-stateful,Linq,Azure Service Fabric,Service Fabric Stateful,是否有计划在Service Fabric上添加对可靠集合的LINQ支持?有人知道可以实现这一点的扩展吗?在以前的API版本中,这似乎是可能的,但现在已经不可能了。在一个可靠的字典上,您可以使用CreateEnumerableAsync创建一个异步可枚举文件。(文件) 接下来,您可以使用Eli的扩展方法创建linq查询 gist中的示例: var accounts = await (await accountNames.CreateLinqAsyncEnumerable(txn))
CreateEnumerableAsync
创建一个异步可枚举文件。(文件)
接下来,您可以使用Eli的扩展方法创建linq查询
gist中的示例:
var accounts = await (await accountNames.CreateLinqAsyncEnumerable(txn))
.Where(x => x.Value.IndexOf(name, StringComparison.InvariantCultureIgnoreCase) >= 0)
.SelectAsync(async x => new Account
{
Id = x.Key,
Name = x.Value,
Data = (await accountData.TryGetValueAsync(txn, x.Key)).Value
})
.ToList();
这台机器的性能如何?枚举是只发生在满量程的数据子集上,还是所有数据都被拉入内存,枚举是发生在整个集合上?还想知道上述注释的答案。我将有相当大的集合,我只需要抓取记录的子集,如果这将整个集合拉到内存中,这是不可能的。我相信上面的代码在某个时候会在内存中有每个值,但如果没有预测值,它将有资格被分页(再次)。此代码可以通过使用索引和/或键过滤器进行优化。