【发布时间】:2012-07-11 03:47:56
【问题描述】:
我正在尝试按嵌入文档中的值对结果进行排序。
考虑一个模型,例如:
public class Car
{
public Guid ID { get; set; }
public string Name { get; set; }
public IEnumerable<Passenger> Passengers { get; set; }
}
public class Passenger
{
public Guid ID { get; set; }
public virtual string Name { get; set; }
public virtual int Age { get; set; }
}
我正在尝试查询我的Car 收藏,并按Passenger.Age 排序
我的查询类似于:
var results = (from car in _db.GetCollection<Car>("car").AsEnumerable()
from passenger in car.Passengers
where car.Name == "Ford"
orderby passenger.Age).ToList();
这样,我得到以下异常:
不支持 SelectMany 查询运算符。
这是可以理解的 C# mongo 驱动程序的限制。
有解决办法吗?
如果做不到这一点,我怎么能在我的 .ToList() 之后订购它们?
【问题讨论】:
-
如果我说您要从结果中同时取出 Car 对象和 Passanger 对象,我是否理解正确?
-
我相信他正在尝试按年龄列出福特斯所有乘客的名单。
标签: c# mongodb mongodb-.net-driver