LINQ查询在DocumentDB上使用Any进行子集合的问题

Chr*_*all 5 azure-cosmosdb

使用v1.8 .Net SDK

尝试返回Sales,其中Sale客户端数组包含我正在寻找的客户端ID.

Sales.Where(sale => sale.Clients.Any(c => c.ClientId == clientID));
Run Code Online (Sandbox Code Playgroud)

返回错误"Nullable对象必须具有值."

在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)at System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task1.get_Result()at Microsoft.Azure.Documents.Linq.DocumentQuery 1.GetEnumerator() at System.Collections.Generic.List1..ctor(IEnumerable 1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)

ClientID是GUID,但尝试查询客户端对象上的任何属性都会返回相同的错误.

如果我对相同的数据运行相同的查询,但只使用List集合(即不使用DocumentDB),那么一切都很好.

任何建议表示赞赏 谢谢

Ara*_* R. 12

可以使用SelectMany +在其中进行此查询:

Sales.SelectMany(s => s.Clients.Where(c => c.ClientID == clientID).Select(c => s));  
Run Code Online (Sandbox Code Playgroud)