文档数据库 ID 字段

DocumentDb Id field

DocumentDb Id 字段是否有数据类型或长度限制?

我一直在我的 DocumentDb 数据库的 ID 字段中使用 GUID 值,一切正常。

我现在需要更改 ID 字段并为 ID 添加前缀。这尚未 运行 投入生产。我只是使用 DocumentDb 模拟器在本地测试它。

举个例子,我的 Id 曾经是这样一个典型的 GUID:5e035f00-e1e3-430d-ae45-85f2815731f7。现在,它将是这样的:20-5e035f00-e1e3-430d-ae45-85f2815731f7。基本上,我现在在 Id 的开头添加了一个 2-4 位数字前缀,后跟一个连字符。

看起来我可以很好地创建文档,但是在查询它们时,我的代码出现错误。我没有对运行数据库查询的代码进行任何更改。

这是一直 运行 的查询代码:

public async static Task<IEnumerable<T>> QueryAsync<T>(this IQueryable<T> query)
   {
      var docQuery = query.AsDocumentQuery();
      var batches = new List<IEnumerable<T>>();

      do
      {
         var batch = await docQuery.ExecuteNextAsync<T>(); // My code is blowing up here
         batches.Add(batch);
      }
      while (docQuery.HasMoreResults);

      var docs = batches.SelectMany(b => b);

      return docs;
}

实际用途没有限制。你能 post 你 "blowing up" 地方的调用栈吗?