1

在尝试使用实体框架和 ado.net 数据服务时,我遇到了真正的麻烦。

在请求甚至到达我的代码之前,我得到了一个 WCF 异常(底部的异常)。这根本不是很有帮助。我所有的实体都有主键,所有实体的所有属性都是公共的。有什么想法会导致这种情况吗?

异常文本:服务器在处理请求时遇到错误。异常消息是“字典中不存在给定的键。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪是:

在 System.ThrowHelper.ThrowKeyNotFoundException() 在 System.Collections.Generic.Dictionary 2.get_Item(TKey key) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType, MetadataWorkspace workspace, IDictionary2 entitySets, IDictionary 2 knownTypes) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary2 knownTypes, IDictionary 1.CreateProvider 2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService(Type dataServiceType, Object dataSourceInstance, DataServiceConfiguration& configuration) 在 System.Data.Services.DataService1.EnsureProviderAndConfigForRequest() at System.Data.Services.DataService1.ProcessRequestForMessage(Stream messageBody) at SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[] & outputs) 在 System.ServiceModel。 Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) ) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.MessageRpc。进程(布尔 isOperationContextSet)

4

2 回答 2

0

问题出现在“DataServiceConfiguration”中。错误是“'字典中不存在给定的键”。

在大多数情况下,当我遇到这种情况时,配置中缺少一些东西。程序将配置文件中的信息读取到字典中,然后尝试查找一个键,并得到一个键未找到异常。

于 2009-09-08T17:59:02.480 回答
0

它可能是实体框架模型的连接字符串。确保在 Web 应用程序配置文件中有它。

于 2009-09-22T15:54:59.750 回答