0

現在、いくつかのオブジェクトを作成して値を設定してから、コンテキストに追加します。CRM ServiceContextプラグインでLINQを使用してAddObjectを取得できません

var address = new Customaddress(); 
address.Id = Guid.NewGuid(); 
address.CustomField = "test"; 

serviceContext.AddObject(address); 

これは問題なく動作します。しかし、プラグインの後半で、SaveChanges()が呼び出される前に、私はこれらの作成されたアドレスのリストを取得しようとしています。

var addresses = serviceContext.CustomAddressSet.Where(...); 

結果のアドレスリストには、変更前のものが含まれています。 SaveChanges()が呼び出される前に、後でコンテキストから追加されたオブジェクトのリストをクエリする方法はありますか?

ありがとうございます。

答えて

1

いいえあなたは、おそらく、すでにそれ以外の場合は単に(代わりにIOrganizationServiceを消費OrganizationServiceContextを作成するコンテキストをスキップしてIOrganizationServiceの実装を使用してレコードを作成し、コンテキストに値を取得するために照会しているので、これは動作しません。 )

そして、あなたはOrganizationServiceContextクラスをmisuingされ、これをやろうとしている場合は、率直に言って:モデルは、CreateContext-> Query->モディファイ> SaveChanges-> DisposeContextです。

+0

ありがとうございました。起こっているのは、オブジェクトを追加してから、これらのエンティティをコピーして他のいくつかの作業を行う他のコードに渡すことです。私はそれを呼び出す前にSaveChanges()を呼び出すことができないので、すべて同じトランザクションで発生する必要があります。コンテキストではなく、別々にエンティティを送信するようにします。 – creatiive

関連する問題