2009-09-07 19 views
1

嘗試使用實體框架和ado.net數據服務時,我遇到了一個真正的頭疼的人。嘗試訪問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, IDictionary 2個entitySets,IDictionary的2 knownTypes) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary 2個knownTypes,IDictionary的2 entitySets) at System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() at System.Data.Services.DataService 1.CreateProvider(類型dataServiceType,對象dataSourceInstance,DataServiceConfiguration &配置)在System.Data.Services.DataService 1.EnsureProviderAndConfigForRequest() at System.Data.Services.DataService 1.在SyncInvokeProcessRequestForMessage(對象,對象[],對象[])上System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(對象實例,對象[]輸入,對象的ObjectProcessRequestForMessage(流messageBody) [] & outputs)System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc & rpc)at System.ServiceModel.Dispatcher.I mmutableDispatchRuntime.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.Process(布爾isOperationContextSet)

回答

0

問題是在 「DataServiceConfiguration」 存在的。錯誤是「'給定的密鑰不在字典中」。

在大多數情況下,當這種情況發生在我身上時,它在配置中缺少一些東西。該程序將配置文件中的信息讀取到字典中,然後嘗試查找密鑰,並獲取未發現密鑰的異常。

+1

該配置在哪裏?據我所知,所有數據服務配置都是在cs文件中完成的。 – midas06 2009-09-09 04:35:03

0

它可能是實體框架模型的連接字符串。確保你在Web應用程序配置文件中有它。

相關問題