Entity Framework 4 および STE (Self tracking entitites) と組み合わせて (ria ではなく) WCF を使用する予定です。これを正しく理解していれば、WCF はエンティティまたはエンティティのコレクション (たとえば、IQueryable ではなく LIST を使用) をクライアント (私の場合は Silverlight) に返す必要があります。
その後、クライアントはエンティティを変更または更新できます。この時点で、それは自己追跡だと思いますか? これは、追跡しない STE に関する問題が多数報告されているため、少し混乱するところです。
とにかく、更新するには、更新を行う別の方法でエンティティを WCF サービスに送り返すだけです。毎回新しい OBJECTCONTEXT を作成する必要がありますか? すべての方法で?
WCF のすべてのメソッドで毎回新しいオブジェクト コンテキストを作成している場合、STE をオブジェクト コンテキストに再アタッチする必要はありませんか?
基本的にこれだけではうまくいかないのでしょうか??
using(var ctx = new MyContext())
{
ctx.Orders.ApplyChanges(order);
ctx.SaveChanges();
}
または、WCF サービスのコンストラクターで一度オブジェクト コンテキストを作成して、同じ WCF インスタンスを使用する 1 回の呼び出しとすべての追加の呼び出しで同じオブジェクト コンテキストが使用されるようにする必要がありますか?
クライアントからの各メソッド呼び出しで WCF サービスを作成および破棄することができたので、毎回新しい objectcontext を実際に作成しました。
objectcontext を非常に長い間存続させるのは良い考えではないことを理解しています。