DBcontext ジェネレーター ツールによって生成された POCO クラスを使用するアプリケーションがあります。これらの POCO クラスを作成した後、Model.tt ファイルをソリューション内の別のプロジェクトの別の名前空間にコピーします。Model.tt ファイルの参照を修正して、edmx ファイルを指すようにします。DBcontext を指す WCF Data Service を作成します。また、Model.Context.cs ファイルに using ステートメントを追加して、コンテキストが移動した POCO クラスを使用するようにします。WCF Data Service のメタ データを読み込もうとすると、次のエラーが発生します。
サーバーでリクエストの処理中にエラーが発生しました。例外メッセージは「あいまいな一致が見つかりました。」です。詳細については、サーバー ログを参照してください。例外スタック トレースは次のとおりです。
System.RuntimeType.GetPropertyImpl (文字列名、BindingFlags bindingAttr、バインダー バインダー、型 returnType、Type[] 型、ParameterModifier[] 修飾子) で System.Type.GetProperty (文字列名、BindingFlags bindingAttr) で System.Data.Services.Providers .ObjectContextServiceProvider.PopulateMemberMetadata(ResourceType resourceType、IProviderMetadata ワークスペース、IDictionary 2 knownTypes, PrimitiveResourceTypeMap primitiveResourceTypeMap) at System.Data.Services.Providers.ObjectContextServiceProvider.PopulateMetadata(IDictionary
2 knownTypes、IDictionary 2 childTypes, IDictionary
2 entitySets) System.Data.Services.Providers.BaseServiceProvider.PopulateMetadata() で System.Data.Services.Providers.BaseServiceProvider.LoadMetadata() で System. Data.Services.DataService 1.CreateProvider 1.CreateMetadataAndQueryProviders(IDataServiceMetadataProvider& metadataProviderInstance, IDataServiceQueryProvider& queryProviderInstance, BaseServiceProvider& builtInProvider, Object& dataSourceInstance) at System.Data.Services.DataService
() System.Data.Services.DataService で1.HandleRequest() at System.Data.Services.DataService
1.System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object インスタンス、Object[] 入力、Object[]& 出力) での SyncInvokeProcessRequestForMessage(Object , Object[] , Object[] ) での ProcessRequestForMessage(Stream messageBody)。 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) の Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) の System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) ) System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) で System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) で System.ServiceModel.Dispatcher.System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) の ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
edmx を含むプロジェクトに POCO クラスを残すと、WCF データ サービスは正常に動作します。メタデータを取得し、サービス参照を作成して、サービスを使用できます。
「あいまいな一致が見つかりました」の原因は何ですか。エラーメッセージ?サーバーログにアクセスして情報を分析するにはどうすればよいですか?