私のC#アプリケーションでは、QuickBooksにデータを追加するための仲介DLLを介してリクエストを送信しようとしています。仲介DLLは、設定に基づいて、アイテムの追加要求をWCFサービスを通じて送信します。サービスプロジェクトでは、その中に格納されているすべてのメソッドに操作規約が使用されています。データ契約/データメンバーはありません。Entity Framework 6.0とWCFでのオペレーション契約シリアライゼーションエラー
これは、請求書やその他の取引を検索します。ただし、アイテムを追加するとき、私はこのエラーが表示されます。
A first chance exception of type 'System.Runtime.Serialization.SerializationException' occurred in System.Runtime.Serialization.dll
Additional information: Type 'System.Data.Entity.DynamicProxies.QBLookUp_A96F53AD8DA6F21651FEF0B25078616AB4989DA745EE06E345D365196574CE0F' with data contract name 'QBLookUp_A96F53AD8DA6F21651FEF0B25078616AB4989DA745EE06E345D365196574CE0F: http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies ' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer.
は、ここでは、スタックオーバーフローの周りを見ると、私はこの問題を回避するために、私のEFモデルでプロキシ作成をオフにすることを示唆し、いくつかのスレッドに走りました。
A)データの様々なビットがない:私はプロキシの作成をオフにしたときに、私は2つの新しい問題に実行しかし
this.Configuration.ProxyCreationEnabled = false;
、:だから、私はEFプロジェクトにコンストラクタにコードのこのビットを挿入しました私のC#アプリケーションで表示されます。このデータは、Entity Frameworkによってアプリケーションに提供されます。
B)WCFサービスを介してアイテムを保存しようとしたとき、私はこのエラーが表示されます。
Additional information: Object graph for type 'System.Collections.Generic.HashSet`1[[EFModel.Item, EFModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' contains cycles and cannot be serialized if reference tracking is disabled
これは、次の結論に私をリード - 私は、プロキシの作成が仕事に自分のアプリケーションのためのために有効にする必要があります同時に、私は私のサービスに何か悪いことをしているかもしれません。私は物事を働かせるために私が何を変えることができるかについて誰にも示唆を持っていますか?