現在、私はEntity Frameworkの問題に苦しんでいます。私はefフレームワークの上に座って、フレームワークへの問い合わせを可能にするwcfサービスを持っています。ある時点で、ユーザーはフレームワークからファイルを要求できます。ファイルはソリューションエントリによって参照されるため、ソリューションからファイルを要求すると、ファイルストアへのアクセス権を得るために参照がロードされます。Entity Frameworkのデータ参照をアンロード
すべてがうまくいますが、その時点以降は、そのソリューションエントリを返す別のクエリを実行するたびに、ファイル全体が戻り結果にアタッチされます。結果のエントリには、ファイルストアへのアンロードされた参照のみが再度含まれるように、参照の切り離しまたはアンロードの方法が必要です。
私は新しいコンテキストを作成し、そのコンテキストから情報を取得しようとしましたが、そのとき元のコンテキストのエンティティも変更されました。
元のコンテキストからエンティティを切り離して、新しいコンテキストからクエリを実行しようとしました。それはどちらもうまくいかない。
これを行う方法が1つ見つかりました。非ファイルダウンロードクエリでは、結果エンティティをデタッチし、それをワイヤで送信します。それが最善の方法であるかどうかはわかりません。
私は誰かが洞察力を提供してくれることを願っています。
どのようにWCFサービス(自己ホスト型またはIISホスト型)をホストしているかを明確にし、ファイルに含まれているソリューション参照の意味を説明することができます。 –
サイトはIISでホストされており、参照はEntity Frameworkのためファイルに関連しています。ファイルは別のテーブルにありますが、外部キーを介して情報テーブルにリンクされています。したがって、情報テーブルからリンクされたエンティティにアクセスするには、ファイル参照をロードする必要があります。遅延ロードが行われると、リンクをアンマウントできません。 – Johannes
すべてのファイルがデータベースにあり、ファイルのエンティティタイプがあることを意味しますか?その場合、エンティティをデタッチしようとしたとき、その "ソリューション"エンティティまたはファイルエンティティはありますか?後者はうまくいくはずです。 – Marcanpilami