cosmos db 中嵌套对象的 Linq json

Linq for nested object in cosmos db json

你好,我无法在 linq 中找出这个 cosmos 查询的等价物

Cosmos 查询:

select c_option
from c
join c_size in c.size
join c_variant in c_size.variant
join c_option in c_variant.option
where c.type = 'product'
and c_option.optionID = '869' 

还有我的 linq,但它 returns 一直都是 null 嗯。

query.SelectMany(product => product.Size
.SelectMany(size => size.Variant
.SelectMany(variant => variant.Option
.Where(option => option.OptionId
.Equals(optionId, StringComparison.OrdinalIgnoreCase))))));

选项是产品中的嵌套子对象。嵌套看起来像 product->size->variant->option

产品模型是一个 class,属性类型为 int/string,集合大小为

public class Product {
 int id {get;set;}
 IList<Size> Size {get;set;}
}
public class Size {
 int id {get;set;}
 IList<Variant> Variant {get;set;}
}
public class Variant {
 int id {get;set;}
 IList<Option> Options {get;set;}
}
public class Option {
 int id {get;set;}
 IList<OptionAvailability> OptionsAvas {get;set;}
}

结果:我需要通过选项Id得到一个选项

原来我在 json 属性 中遇到了拼写问题,optionID 而不是 optionId。除此之外,现在一切正常。

干杯。