我可以写
select * from c where Not Is_Defined(c.Name)
来获取所有缺少 Name
属性的文档。
是否可以作为 C# lambda 来实现?
x => x.Name == null
不起作用,因为 lambda 被转换为宇宙查询并变成 c.Name == null
(或者可能是 Is_Null(c.Name)
,对于不存在的 Name
来说,这总是错误的。
您可以使用酒店的
IsDefined
扩展。使用 Microsoft.Azure.Cosmos.Linq
包时,它是 Microsoft.Azure.Cosmos
命名空间的一部分。
using var iterator = container
.GetItemLinqQueryable<Person>()
.Where(p => !p.Name.IsDefined())
.ToFeedIterator();