dapr getall:怎么做呢?

dapr getall: how to do it?

首先,抱歉,我知道这个问题已经发布了,但只有一个解决方案指向一个死link,没有其他选择。所以响应不再存在。

我正在使用dapr,docker涉及,我正在用它来存储一些数据。

我的这行代码有效:

var record = await client.GetStateAsync<Record>(StoreName, id);

记录是一个对象,record.Id = id

现在我需要做一个 Getall,所以,获取 Record 类型的所有记录。

所以这是我的代码:

    var stringList = new List<string>();
    stringList.Add(id);
    var mylist = stringList.AsReadOnly();
    var recordList = await client.GetBulkStateAsync(StoreName, mylist, null);

它构建了,但是当 运行 它得到一个错误,因为 myList 不能是 null

那我该怎么做呢?

选项 1:

有连续的 id 然后在它们之间迭代,这不是一个很好的解决方案,我必须为 id 假设一个限制值。

选项 2:放弃 dapr,这不是一个好的解决方案,因为它不能解决问题,这也是一种解决方法。

那么,我该怎么做 getAll?

在这里 https://github.com/dapr/dapr/issues/944,dapr 人员建议创建一个包含所有键的对象,然后首先检索该对象,获取键并遍历它们。我猜目前还没有 getAll 实现,而且从外观上看,它不会很快出现。