首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用键以外的其他方式查找状态服务上的数据

如何使用键以外的其他方式查找状态服务上的数据
EN

Stack Overflow用户
提问于 2016-10-06 11:04:09
回答 1查看 69关注 0票数 0

我已经阅读了所有可以找到的Azure Service Fabric文章,但我仍然无法理解您应该如何处理存储在“状态服务”中的数据--除了按键获取数据之外。

比方说,我有一个Team和一个Player对象。它们存储在IReliableDictionaries中,包含密钥team-1team-2player-1player-2等。

每个Player对象都有一个Player.team值,该值是对Team的引用。

现在..。假设我想获得所有存储的Player对象,这些对象的Player.team等于team-2。我该怎么做?我必须手动遍历我的所有对象并找到我自己吗?当您获取数据时,不应该有过滤器函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-06 13:46:43

您可以使用CreateEnumerableAsyncGetAsyncEnumerator循环数据。小心使用,如果您的字典很大,这可能需要一些时间。而且这也不是一个有效的方法来搜索一个集合。(反对使用钥匙)

您还可以存储从一个球员到另一个团队和从一个团队到另一个球员的引用。在一个ReliableDictionaries中修改两个事务以保持它们的同步。通过这种方式,你可以在没有循环的情况下找到一名球员的球队和一支球队的球员。确保您的状态对象保持不变,如链接文章中所示。

您还可以保存第三个字典,该字典保存团队和玩家对象之间的所有引用,因此,如果有许多引用,则不会使对象模型过于混乱。

最后,如果需要查询大量关系数据,可以使用像Server这样的外部存储。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39894297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档