2

Self-Tracking Entities (STE) が非推奨になり、Microsoft は今後それらに投資しないことを読みました。

私は現在、クライアント コードが WCF サービスへのメソッド呼び出しを行って自己追跡エンティティをフェッチする n 層アプリケーションに取り組んでいます。私のクライアント コードには DBContext のようなものはありません。エンティティ自体のみを扱います。

自己追跡エンティティには変更追跡コードが含まれているため、クライアント コードはそれらを簡単に操作でき、実際に変更をデータベースにプッシュするのも簡単です。

私は EF4 DBContext Generator t4 テンプレートを試しましたが、それらは永続性を無視したエンティティを生成するため、クライアント コードはそれらを使用して STE で行った方法で変更を追跡することができません。

クライアント コードと WCF サービス コードを大量に書き直すことなく、そのようなプロジェクトから DBContext ベースのプロジェクトに移行することは可能ですか?

4

1 に答える 1

1

EF 5.x 用の STE Generator テンプレートがあり、その情報ページには次のように記載されています。

新しいアプリケーションで STE テンプレートを使用することはお勧めしません。既存のアプリケーションをサポートするために引き続き使用できます。N 層シナリオに推奨されるその他のオプションについては、N 層アプリケーションのページにアクセスしてください。

それはあなたの質問に答えます。アプリケーションを書き換えずに STE を使用したい場合は、テンプレートとObjectContext. 理論的には、 (コンストラクターを介して)既存DbContextのものから新しいインスタンスを作成できるため、使用できます。STE にどのような利点があるかはわかりません。DbContextObjectContext

MS は、WCF Data Services とそのクライアント コンテキストを STE の代替と見なしています。

于 2013-01-10T08:20:30.280 に答える