感谢您的帮助和耐心。 我仍在学习RavenDB,所以我寻求一些看似简单的帮助,但经过多次尝试和广泛研究,它使我不寒而栗。 所以决定在这里寻求帮助...
给出模型:
public class Travel
{
public string Id { get; set; }
public string Destination { get; set; }
public string DriverId { get; set; }
public Driver Driver { get; set; }
{
public class Driver
{
public string Id { get; set; }
public string Name { get; set; }
{
如何按驱动程序名称排序和过滤?
奇怪的是,linq不能按预期工作:
session.Query<Travel>().Include(travel => travel.DriverId)
.OrderBy(travel => travel.Driver.Name);
上面的行发出以下RQL:
from Travels order by Driver.Name include DriverId
这似乎是正确的,但是由于某种原因,无论是使用Linq还是RQL,旅行清单都不会按驾驶员姓名排序。
我该怎么办?
答案 0 :(得分:0)
我认为您需要将include语句更改为include(travel => travel.Driver)。
答案 1 :(得分:0)
您是否尝试过添加ToList?我能够成功获取按驾驶员姓名排序的旅行清单。
session.Query<Travel>().Include(travel => travel.DriverId)
.OrderBy(travel => travel.Driver.Name)
.ToList();