.net RavenDb地图索引查询混乱

.net RavenDb地图索引查询混乱,.net,ravendb,.net,Ravendb,假设我们有以下映射索引: public class CommentsIndex : AbstractIndexCreationTask<Post> { public class IndexResult { public string PostId {get;set;} public DateTime CommentDateTime {get;set;} } public CommentsIndex() { Map

假设我们有以下映射索引:

public class CommentsIndex : AbstractIndexCreationTask<Post>
{
   public class IndexResult
   {
      public string PostId {get;set;}
      public DateTime CommentDateTime {get;set;}
   }

   public CommentsIndex()
   {
       Map = posts => from post in posts
                      from comment in post.Comment
                      select new { PostId = post.Id, CommentDateTime = comment.DateTime }; 
   }
}
另外,我知道我可以使用实时投影或调用
AsProjection
来形成索引查询结果,但我想对于这种简单的情况应该有一个更自然的解决方案。

\u documentSession.query()
_documentSession.Query<CommentsIndex.IndexResult, CommentsIndex>()
    .Where(x => x.CommentDateTime < DateTime.UtcNow)
    .As<Post>()
    .ToList();
.Where(x=>x.CommentDateTime

注意:
.As()
.AsProjection()
之间有一个根本性的区别,因为只有后者会尝试获取字段,而第一个只强制转换结果。

它实际有效吗?我试图在上次的乌鸦建造中得到同样的行为,但我做不到。亚历山大,从那以后很多事情都改变了。我建议你在邮件列表上贴上完整的描述。
_documentSession.Query<CommentsIndex.IndexResult, CommentsIndex>()
    .Where(x => x.CommentDateTime < DateTime.UtcNow)
    .As<Post>()
    .ToList();