Raven db System.InvalidCastException:at at Raven.Client.Document.InMemoryDocumentSessionOperations.TrackEntity [T]

时间:2016-12-27 21:06:55

标签: ravendb azure-functions

我将我的代码部署为Azure功能应用。在我的本地机器上一切正常。但在Azure Function应用程序上,我在查询raven db时遇到异常。

发生了一个或多个错误.System.InvalidOperationException:查询结果类型为“Cat1RootRef”,但您希望获得“Cat1RootRef”类型的结果。如果要返回投影,则应在调用.ToList()之前使用.ProjectFromIndexFieldsInto()(对于Query)或.SelectFields()(对于DocumentQuery)。 ---> System.InvalidCastException:[A] Cqm.Models.Qrda.Cat1RootRef无法强制转换为[B] Cqm.Models.Qrda.Cat1RootRef。类型A源自字节数组中的'LoadNeither'上下文中的'Cqm.Models,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 1dad2e84fc016e57'。类型B源自字节数组中的'LoadNeither'上下文中的'Cqm.Models,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 1dad2e84fc016e57'。    在Raven.Client.Document.InMemoryDocumentSessionOperations.TrackEntity [T](String key,RavenJObject文档,RavenJObject元数据,布尔noTracking)    ---内部异常堆栈跟踪结束---    在Raven.Client.Document.InMemoryDocumentSessionOperations.TrackEntity [T](String key,RavenJObject文档,RavenJObject元数据,布尔noTracking)    在Raven.Client.Document.SessionOperations.QueryOperation.Deserialize [T](RavenJObject结果)    在Raven.Client.Document.SessionOperations.QueryOperation.b__26_0 [T](RavenJObject x)    at System.Linq.Enumerable.WhereSelectListIterator 2.MoveNext() at System.Collections.Generic.List 1..ctor(IEnumerable 1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable 1 source)    在Raven.Client.Document.SessionOperations.QueryOperation.CompleteT    在Raven.Client.Document.DocumentQuery 1.GetEnumerator() at Raven.Client.Linq.RavenQueryInspector 1.GetEnumerator()    在System.Collections.Generic.List 1..ctor(IEnumerable 1个集合)    在System.Linq.Enumerable.ToList [TSource](IEnumerable 1 source) at Cqm.Services.CqmEngineService.GetPatientStream1(IDocumentSession session, DateTime from, DateTime to, List 1个提供者,Int32 maxRecords)    在Cqm.Services.CqmEngineService。<> c__DisplayClass15_0.b__0()    在System.Threading.Tasks.Task.InnerInvoke()    在System.Threading.Tasks.Task.Execute() 2016-12-27T20:46:27.144 at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)    在System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken)    在Cqm.Services.CqmEngineService.ComputeMeasuresStreamedUpdated(StoreParams storeParams,ComputeParams computeParams)    在提交#0.StartEngine(CloudBlockBlob myBlob,StoreParams ravenStoreParams,TenantConfig tblTenantConfig,TenantReportResults tblTenantReportResults,TraceWriter log)中:第94行 2016-12-27T20:46:27.144

1 个答案:

答案 0 :(得分:0)

您的应用中看起来有几种Cat1RootRef类型,可能是从多个程序集或多次加载的程序集中加载的