2011-12-17 16 views
2

エンティティフレームワークDbContextをローカルで動作させ、SQLデータベースに直接接続しました。WCFサービスを使用してエンティティを更新する方法

今、私はEntity FrameworkをWCFサービスの背後に置こうとしています。 WCFサービスは、基底のエンティティに対応する独自の一連のサービスレイヤオブジェクト(DataContracts)を公開します。クライアントは、基礎となるデータストアとエンティティについては決して知らない。

  • データを取得するのは簡単ですが、LINQ to SQLと.ToList()だけです。
  • 新しいオブジェクトを挿入してもそれほど悪くはないので、クライアントからDataContractをOperationContract経由でWCFサービスに渡します.WCFはDbContext.Add()、DbContext.SaveChanges()を呼び出します。

しかし、どのように更新を行うのですか?私はPKを保存する必要がありますか?もしそうなら、それを行う通常の方法は何ですか?

助けが必要です。ありがとう。

+0

「クライアントからサービスにdatacontractを渡す」という意味はわかりません。クライアントは、更新するエンティティのPKを知っている必要があります。 – Jason

+0

サービスdatacontractをクライアントからサービスに渡します。それは大丈夫ですか? – Jake

答えて

0

はい、プライマリキーを保持する必要があります。 オブジェクト自体に面するクライアントにそれらを配置します。クライアントがデータを取得しているときにそれらをオブジェクトの一部として戻すことができます。これにより、更新時にクライアントに戻すことができます。

PKの名前があなたの抽象化に実際に合っていない場合は、それを別の名前で呼び出すだけで、サービスはマッピングを知る必要があります。

関連する問題