文档数据库 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" 地方的调用栈吗?
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" 地方的调用栈吗?