我试图按照索引教程“例II”的DocumenQuery从 https://ravendb.net/docs/article-page/3.5/csharp/indexes/map-indexesRavenDB InvalidOperationException异常“的查询结果类型是‘<Document>’,但你有望获得类型‘<IndexResult>’的结果”
并获得InvalidOperationException:
“查询结果类型是'资源',但您期望得到'Result'类型的结果。如果要返回投影,则应该使用.ProjectFromIndexFieldsInto()(for Query)或.SelectFields()(用于DocumentQuery),然后调用.ToList()。“
我失败了,我的设置与文档不同。
我有一个指标的设置是这样的:
public class ResourceIndex : AbstractIndexCreationTask<Raven.Resource>
{
public class Result
{
public string[] Query { get; set; }
}
public ResourceIndex()
{
Map = resources => from resource in resources
select new
{
Query = new[]
{
resource.ID.ToString(),
}
};
Index("Query", FieldIndexing.Analyzed);
}
}
...
和查询它像这样:
public IEnumerable<Raven.Resource> QueryAssets(string searchTerm)
{
using (IDocumentSession session = dataStore.OpenSession())
{
var resources = session
.Advanced
.DocumentQuery<ResourceIndex.Result, ResourceIndex>()
.Search(x => x.Query, searchTerm).OfType<Raven.Resource>().ToList();
return resources;
}
}
我失去了什么在我的设置VS有关如何结合使用索引的文档带有DocumentQuery和.Search?