一个查询以搜索多种类型的文档

时间:2017-01-28 12:32:41

标签: c# ravendb

我的数据库中有三种类型的文档。假设他们存储了一些关于汽车的信息。他们是:

  • cars / id / factoryId(关于某些工厂制造的汽车的一般信息),
  • cars / id / factoryId / parts / partname(关于汽车中使用的part1name的具体信息),
  • cars / id / factoryId / history(有关历史的一些信息)。

例如,这些文档可能有这样的ID:

  • 汽车/ 123/1 /部件/ partname1,
  • 汽车/ 123/2 /部件/ partname1,
  • 汽车/ 123/1 /部件/ partname2,
  • 汽车/ 123/1
  • 汽车/ 123/1 /历史。

对于给定的id,我想在c#中编写一个查询,只查找表单cars / id / factoryId / parts / partname的文档(在上面的例子中,它将是文档的第一,第二和第三)。我能够获得factoryId的所有可能值,并使用foreach创建多个查询。是否可以只写一个查询?

这是带有foreach循环的代码:

select *  
From ( 
      select * 
      from ( select *
               , row_number() over (partition  by knr 
                                    order by date desc, timestamp desc, Event desc) as RN 
             from event_ap 
            ) X 
      where RN = 1 
     ) Y 
join pers_stm p on p.knr = Y.knr

我的数据库版本是3.0,我使用RavenDB.Client包以c#代码连接到数据库。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用以前的方法,但是懒得这样做。 这意味着只有一个请求将被发送到服务器。

请参阅: https://ravendb.net/docs/article-page/3.5/csharp/client-api/session/loading-entities#loadstartingwith