.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();