C# RavenDB:如何将session.Query转换为session.Advanced.DocumentQuery?

C# RavenDB:如何将session.Query转换为session.Advanced.DocumentQuery?,c#,nested,ravendb,documents,C#,Nested,Ravendb,Documents,我将以下类的对象存储在ravendb数据库中: public class Continent { public string Name { get; set; } public List<Country> Countries{ get; set; } } public class Countries { public string Name { get; set; } public List<Province> Provinces{ get; set; } } pub

我将以下类的对象存储在ravendb数据库中:

public class Continent
{
public string Name { get; set; }
public List<Country> Countries{ get; set; }
}

public class Countries
{
public string Name { get; set; }
public List<Province> Provinces{ get; set; }
}

public class Province
{
public string Name { get; set; }
public List<Province> Cities { get; set; }
}

public class City
{
public string Name { get; set; }
public string Address   { get; set; }
}
公共类
{
公共字符串名称{get;set;}
公共列表国家{get;set;}
}
公营国家
{
公共字符串名称{get;set;}
公共列表省份{get;set;}
}
公营省
{
公共字符串名称{get;set;}
公共列表城市{get;set;}
}
公营城市
{
公共字符串名称{get;set;}
公共字符串地址{get;set;}
}

多亏了一篇帖子(RavenDB:如何检索嵌套集合中的顶部节点?),我学会了如何使用session.Query从数据库中检索名称和地址分别设置为“aloma”和“123”的所有大陆。我想使用session.Advanced.DocumentQuery编写相同的查询。那么,您能告诉我如何将以下查询转换为session.Advanced.DocumentQuery:var contricons=session.query().Where(x=>x.Countries.Any(country=>country.provings.Any(p=>p.Cities.Any(city=>city.Name==“123”&&city.Address==“aloma”))of type().ToList()?

注意,这可能不是最好的方法,但这是我知道的唯一方法。此外,请注意,以下内容将在执行后创建索引

var results = session.Advanced.DocumentQuery<Continent>().Where("Countries,Provinces,Cities,Name: 123 AND Countries,Provinces,Cities,Address: aloma").ToList();
var results=session.Advanced.DocumentQuery().Where(“国家、省、市,名称:123,国家、省、市,地址:aloma”).ToList();
使用的模型结构:

    public class Continent
{
    public string Id { get; set; }
    public string Name { get; set; }
    public List<Country> Countries { get; set; }
}

public class Country
{
    public string Name { get; set; }
    public List<Province> Provinces { get; set; }
}

public class Province
{
    public string Name { get; set; }
    public List<City> Cities { get; set; }
}

public class City
{
    public string Name { get; set; }
    public string Address { get; set; }
}
公共类
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
公共列表国家{get;set;}
}
公营国家
{
公共字符串名称{get;set;}
公共列表省份{get;set;}
}
公营省
{
公共字符串名称{get;set;}
公共列表城市{get;set;}
}
公营城市
{
公共字符串名称{get;set;}
公共字符串地址{get;set;}
}