【发布时间】:2016-12-14 04:42:06
【问题描述】:
我有 2 节课:
public class Invoice : RealmObject
{
public int Id;
public string Name { get; set; }
public IList<Product> Products { get; }
}
public class Product : RealmObject
{
public int Id { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
如何进行查询以列出包含特定产品的所有发票?
我会这样编码我的 LINQ 查询,但我得到一个不受支持的异常:
realm.All<Invoice>().Where(i => i.Products.Any(p => p.Name == "product 1"));
我可以这样做,但是获取每个产品的发票数量太长了。
realm.All<Invoice>().ToList().Where(i => i.Products.Any(p => p.Name == "product 1"));
我已经尝试了任何我能想到的方法,但它不起作用。
欢迎任何帮助,因为列出所有产品并计算其中包含的发票数量确实需要很长时间。
【问题讨论】:
-
谢谢,我检查过那个,但它不是一回事。查看一对多 IList
这是我的问题。使用 Contains 或 Any 进行查询不起作用。我唯一的选择是遍历列表的每个元素,但这非常慢并且超出了目的。