データのインポートに使用している ADO.Net Data Service があります。ほとんどのエンティティがリンクしているエンティティが多数あります。インポート中にそれを行うには、最初にこれらのエンティティを作成し、保存してから .SetLink(EntityImport, "NavigationProperty", CreatedEntity) を使用します。ここで最初に遭遇した問題は、コンテキストが CreatedEntity を常に認識しているとは限らないことでした (これは、各エンティティが個別にインポートされ、各アイテムが作成されるときにコンテキストが作成されるためです。この機能を保持したいと思います)。 -つまり、答えとして「1つのコンテキストのみを使用する」ことを避けようとしています)。
したがって、SetLink を呼び出そうとする前に .AddToCreatedEntityType(CreatedEntity) があります。もちろん、これは初めて機能しますが、2 回目のパスで「コンテキストは既にエンティティを追跡しています」というエラー メッセージが表示されます。
コンテキストが既にエンティティを追跡しているかどうかを確認する方法はありますか (context.Contains(CreatedEntity) はまだ実装されていません)。try catch を試みてエラーを回避することを考えていましたが、パスごとに新しい CreatedEntity が作成されるようです。LINQ to Data Services を使用してその CreatedEntity を毎回取得する必要があるように見えますが、それは効率が悪いようです - 何か提案はありますか?