我们有一个Salespoint类,它包含在RavenDB的SalespointDocument中。当我尝试创建以下索引时:
public class GroupInfoIndex: AbstractIndexCreationTask<SalespointDocument, SalespointGroupTimestampTuple>
{
public GroupInfoIndex()
{
Map = salespoints => from s in salespoints
select new
{
SalespointId = s.Salespoint.SalespointSimplePropertiesData.SalespointId,
DistributorId = s.Salespoint.SalespointSimplePropertiesData.DistributorId,
AgentId = s.Salespoint.SalespointSimplePropertiesData.AgentId,
Timestamp = s.TimeStamp
};
}
}
并如此查询:
myDocumentSession.Query<SalespointGroupTimestampTuple>("GroupInfoIndex").ToList()
我从来没有得到任何数据。
当我查看RavenDB silverlight客户端时,我发现查询是这样保存的:
docs.SalespointDocuments .Select(s =&gt; new {SalespointId = s.Salespoint.SalespointSimplePropertiesData.SalespointId,DistributorId = s.Salespoint.SalespointSimplePropertiesData.DistributorId,AgentId = s.Salespoint.SalespointSimplePropertiesData.AgentId,Timestamp = s.TimeStamp})
但是当我尝试在RavenDB silverlight客户端中执行查询时,出现以下错误:
Lucene.Net.QueryParsers.ParseException:无法解析&#39; docs.SalespointDocuments .Select(s =&gt; new {SalespointId = s.Salespoint.SalespointSimplePropertiesData.SalespointId,DistributorId = s.Salespoint.SalespointSimplePropertiesData.DistributorId,AgentId = s.Salespoint.SalespointSimplePropertiesData.AgentId,Timestamp = s.TimeStamp})&#39; :遭遇&#34; &#34; s.Salespoint.SalespointSimplePropertiesData.SalespointId,&#34;&#34;在第1栏第60栏。 期待: &#34;}&#34; ... ---&GT; Lucene.Net.QueryParsers.ParseException:遇到&#34; &#34; s.Salespoint.SalespointSimplePropertiesData.SalespointId,&#34;&#34;在第1栏第60栏。 期待: &#34;}&#34; ...
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Jj_consume_token(Int32类):第2130行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Term(字符串字段):第1884行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Clause(字符串字段):第1588行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Query(字符串字段):第1524行
位于z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Clause(字符串字段):第1593行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Query(字符串字段):第1524行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Parse(字符串查询):第232行
---内部异常堆栈跟踪结束---
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Parse(字符串查询):第250行
在Raven.Database.Indexing.QueryBuilder.BuildQuery(String query,PerFieldAnalyzerWrapper analyzer)中的c:\ Builds \ raven \ Raven.Database \ Indexing \ QueryBuilder.cs:第30行
at Raven.Database.Indexing.Index.IndexQueryOperation.GetLuceneQuery()in c:\ Builds \ raven \ Raven.Database \ Indexing \ Index.cs:line 723
at Raven.Database.Indexing.Index.IndexQueryOperation.d_ 24.MoveNext()in c:\ Builds \ raven \ Raven.Database \ Indexing \ Index.cs:line 581
在System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()
在System.Collections.Generic.List 1.InsertRange(Int32 index, IEnumerable
1个集合)
在Raven.Database.DocumentDatabase。&lt;&gt; c _DisplayClass72.b__6a(IStorageActionsAccessor actions)中的c:\ Builds \ raven \ Raven.Database \ DocumentDatabase.cs:第762行
at Raven.Storage.Esent.TransactionalStorage.ExecuteBatch(Action 1 action) in c:\Builds\raven\Raven.Storage.Esent\TransactionalStorage.cs:line 379
at Raven.Storage.Esent.TransactionalStorage.Batch(Action
1 action)in c:\ Builds \ raven \ Raven.Storage.Esent \ TransactionalStorage.cs:line 340
在Raven.Database.DocumentDatabase.Query(String index,IndexQuery query)中的c:\ Builds \ raven \ Raven.Database \ DocumentDatabase.cs:第707行
在Raven.Database.Server.Responders.Index.PerformQueryAgainstExistingIndex(IHttpContext context,String index,IndexQuery indexQuery,Guid&amp; indexEtag)中的c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs:第178行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.ExecuteQuery(IHttpContext context,String index,Guid&amp; indexEtag):第164行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.GetIndexQueryRessult(IHttpContext context,String index):第120行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.OnGet(IHttpContext context,String index):第94行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.Respond(IHttpContext context):第46行
位于c:\ Builds \ raven \ Raven.Database \ Server \ HttpServer.cs中的Raven.Database.Server.HttpServer.DispatchRequest(IHttpContext ctx):第477行
位于c:\ Builds \ raven \ Raven.Database \ Server \ HttpServer.cs中的Raven.Database.Server.HttpServer.HandleActualRequest(IHttpContext ctx):第259行
System.Net.WebException:Lucene.Net.QueryParsers.ParseException:无法解析&#39; docs.SalespointDocuments .Select(s =&gt; new {SalespointId = s.Salespoint.SalespointSimplePropertiesData.SalespointId,DistributorId = s.Salespoint.SalespointSimplePropertiesData.DistributorId,AgentId = s.Salespoint.SalespointSimplePropertiesData.AgentId,Timestamp = s.TimeStamp})&#39; :遭遇&#34; &#34; s.Salespoint.SalespointSimplePropertiesData.SalespointId,&#34;&#34;在第1栏第60栏。 期待: &#34;}&#34; ... ---&GT; Lucene.Net.QueryParsers.ParseException:遇到&#34; &#34; s.Salespoint.SalespointSimplePropertiesData.SalespointId,&#34;&#34;在第1栏第60栏。 期待: &#34;}&#34; ...
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Jj_consume_token(Int32类):第2130行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Term(字符串字段):第1884行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Clause(字符串字段):第1588行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Query(字符串字段):第1524行
位于z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Clause(字符串字段):第1593行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Query(字符串字段):第1524行
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Parse(字符串查询):第232行
---内部异常堆栈跟踪结束---
在z:\ Libs \ lucene.net \ src \ core \ QueryParser \ QueryParser.cs中的Lucene.Net.QueryParsers.QueryParser.Parse(字符串查询):第250行
在Raven.Database.Indexing.QueryBuilder.BuildQuery(String query,PerFieldAnalyzerWrapper analyzer)中的c:\ Builds \ raven \ Raven.Database \ Indexing \ QueryBuilder.cs:第30行
at Raven.Database.Indexing.Index.IndexQueryOperation.GetLuceneQuery()in c:\ Builds \ raven \ Raven.Database \ Indexing \ Index.cs:line 723
at Raven.Database.Indexing.Index.IndexQueryOperation.d_ 24.MoveNext()in c:\ Builds \ raven \ Raven.Database \ Indexing \ Index.cs:line 581
在System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()
在System.Collections.Generic.List 1.InsertRange(Int32 index, IEnumerable
1个集合)
在Raven.Database.DocumentDatabase。&lt;&gt; c _DisplayClass72.b_ 6a(IStorageActionsAccessor actions)c:\ Builds \ raven \ Raven.Database \ DocumentDatabase.cs:line 762
at Raven.Storage.Esent.TransactionalStorage.ExecuteBatch(Action 1 action) in c:\Builds\raven\Raven.Storage.Esent\TransactionalStorage.cs:line 379
at Raven.Storage.Esent.TransactionalStorage.Batch(Action
1 action)in c:\ Builds \ raven \ Raven.Storage.Esent \ TransactionalStorage.cs:line 340
在Raven.Database.DocumentDatabase.Query(String index,IndexQuery query)中的c:\ Builds \ raven \ Raven.Database \ DocumentDatabase.cs:第707行
在Raven.Database.Server.Responders.Index.PerformQueryAgainstExistingIndex(IHttpContext context,String index,IndexQuery indexQuery,Guid&amp; indexEtag)中的c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs:第178行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.ExecuteQuery(IHttpContext context,String index,Guid&amp; indexEtag):第164行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.GetIndexQueryRessult(IHttpContext context,String index):第120行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.OnGet(IHttpContext context,String index):第94行
位于c:\ Builds \ raven \ Raven.Database \ Server \ Responders \ Index.cs中的Raven.Database.Server.Responders.Index.Respond(IHttpContext context):第46行
位于c:\ Builds \ raven \ Raven.Database \ Server \ HttpServer.cs中的Raven.Database.Server.HttpServer.DispatchRequest(IHttpContext ctx):第477行
位于c:\ Builds \ raven \ Raven.Database \ Server \ HttpServer.cs中的Raven.Database.Server.HttpServer.HandleActualRequest(IHttpContext ctx):第259行
在Raven.Client.Silverlight.Connection.Async.AsyncServerClient.HandleException(WebException e)
在Raven.Client.Silverlight.Connection.Async.AsyncServerClient.AttemptToProcessResponse [T](Func 1 process)
at Raven.Client.Silverlight.Connection.Async.AsyncServerClient.<>c__DisplayClass2a.<QueryAsync>b__27(Task
1任务)
在System.Threading.Tasks.Task 1.<>c__DisplayClass1a
1.b _19()
在System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
在System.Threading.Tasks.Task.InnerInvoke()
在System.Threading.Tasks.Task.Execute()
Inner StackTrace: 在Raven.Studio.Infrastructure.InvocationExtensions.Catch(任务父,Action`1动作) 在Raven.Studio.Features.Query.ExecuteQueryCommand.GetFetchDocumentsMethod(DocumentsModel documentsModel) 在Raven.Studio.Models.DocumentsModel.TimerTickedAsync() 在Raven.Studio.Infrastructure.Model.TimerTicked() 在Raven.Studio.Infrastructure.Model.ForceTimerTicked() 在Raven.Studio.Features.Query.ExecuteQueryCommand.Execute(Object _) 在Raven.Studio.Models.QueryModel.RestoreHistory() 在Raven.Studio.Models.QueryModel.set_IndexName(String value) 在Raven.Studio.Models.QueryModel.LoadModelParameters(String parameters) 在Raven.Studio.Infrastructure.ViewModel.LoadModel(字符串状态) 在Raven.Studio.Infrastructure.ModelAttacher。&lt;&gt; c_ DisplayClass1.b _0(Object sender,RoutedEventArgs eventArgs) 在MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,Delegate handlerDelegate,Object sender,Object args)
有什么问题?