我有一个产品类,它与变种一起存储在Cosmos DB中。
[DataContract]
public class Product
{
[DataMember]
public virtual string Name { get; set; }
[DataMember]
public virtual IList<Variant> Variants { get; set; }
}
[DataContract]
public class Variant
{
[DataMember]
public virtual string Name { get; set; }
}
我想查询包含产品的变体的投影。
[DataContract]
public class VariantProjection
{
[DataMember]
public virtual Product Product { get; set; }
[DataMember]
public virtual string Name { get; set; }
}
我使用的是DocumentDB Linq api,但如果使用此api无法实现,则任何其他API都可以。
答案 0 :(得分:1)
听起来您正在寻找JOINs and Projections(可能想要尝试Cosmos DB Query Playground,它有两种情况。)
让一个简单的数据集进行测试会很棒,但我相信这样的事情可能有所帮助:
SELECT p as product, variant.name
FROM p
JOIN variant IN p.variants
请注意,您要检索每个变体的整个产品。这就是您在C#代码中想要实现的目标。