我想为我的 Raven 数据库中的每个文档获取 Raven-Clr 类型。我尝试了以下索引,但仅检索文档 ID:
地图:
from doc in docs
let DocumentType = doc[""@metadata""][""Raven-Entity-Name""]
let Id = doc[""@metadata""][""Id""]
let LastModified = (DateTime)doc[""@metadata""][""Last-Modified""]
select new {DocumentType = doc[""@metadata""][""Raven-Entity-Name""], Id, LastModified}
转换:
from result in results
select new {Id = result.Id, DocumentType = result.DocumentType, LastModified = result.LastModified}
我的目标是获取文档元数据并显示不同的集合/文档类型列表,例如 RavenStudio。我想创建一个投影并填充以下类的列表:
public class MetaDocument
{
public string Id{get; set;}
public string DocumentType {get; set;}
public DateTime LastModified {get; set;}
}
我只能获取 doc id,其他值返回为 null。
注意 我按照 Fitzchak 的建议检查了 Raven-Entity-Name。它是人口。
编辑
我在 Google Groups 上发现了这种方法,其中 Map 被更改为包含
DocumentType = ((dynamic)doc)[""@metadata""][""Raven-Entity-Name""]
结果是一样的。
编辑 2
我检查了 RavenStudio 中的查询结果,投影本身包含 LastModified 和 DocumentType 的 null。这些字段是否需要存储才能访问?