在尝试使用实体框架和ado.net数据服务时,我遇到了一个真正令人头疼的问题。
在请求发送到我的代码之前,我就得到了一个WCF异常(底部的异常)。这并不是很有帮助。我的所有实体都有主键,所有实体上的所有属性都是公共的。你知道这是什么原因造成的吗?
异常文本:服务器在处理请求时遇到错误。异常消息是“给定的键不存在于字典中。”有关更多详细信息,请参阅服务器日志。异常堆栈跟踪为:
在System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary2.get_Item(TKey key) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType, MetadataWorkspace workspace, IDictionary2 entitySets,IDictionary2 knownTypes) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary2 knownTypes,IDictionary2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService1.CreateProvider(Type dataSourceInstance,Object messageBody,DataServiceConfiguration& configuration)在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object实例的SyncInvokeProcessRequestForMessage(Object,Object[],Object[] ),Object[]输入,System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&远程过程调用和输出)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&远程过程调用)在System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
发布于 2009-09-08 17:59:02
问题出现在"DataServiceConfiguration“中。错误是“给定的键在字典中不存在”。
在大多数情况下,当这种情况发生在我身上时,它在配置中丢失了一些东西。该程序将配置文件中的信息读取到字典中,然后尝试查找密钥,并得到一个未找到密钥的异常。
发布于 2009-09-22 15:55:00
它可能是实体框架模型的连接字符串。确保您在web应用程序配置文件中有它。
https://stackoverflow.com/questions/1387483
复制相似问题