相关疑难解决方法(0)

在RavenDB中通过多个值查询子集合

我正在使用RavenDB build 371,我有以下型号:

class Product {
 public string Id { get; set; }
 public ProductSpec[] Specs { get; set; }
}

class ProductSpec {
 public string Name { get; set; }
 public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够查询具有一组规格的产品.查询单个规范时:

session.Query<Product>()
 .Where(product => product.Specs.Any(spec => spec.Name == "Color" && spec.Value == "Red"))
 .ToList();
Run Code Online (Sandbox Code Playgroud)

返回预期结果,但是当添加其他规范谓词时:

session.Query<Product>()
 .Where(product => product.Specs.Any(spec => spec.Name == "Color" && spec.Value == "Red"))
 .Where(product => product.Specs.Any(spec => spec.Name == "Country" && spec.Value == "US"))
 .ToList();
Run Code Online (Sandbox Code Playgroud)

即使第一个查询返回的结果包含规格名称为"Country"且规格值为"US"的产品,也不会返回任何结果.使用LuceneQuery方法时会观察到相同的结果.这似乎与此讨论 …

nosql ravendb

6
推荐指数
1
解决办法
3119
查看次数

标签 统计

nosql ×1

ravendb ×1