0

私はPOCOについて知っていますが、最近、自己追跡エンティティについて聞いたことがあります。POCOとSTEの違いを誰でも説明できますか

4

1 に答える 1

1

自己追跡エンティティは、実際のエンティティクラスのゲッター/セッターに永続性ロジックを持つエンティティです。要するに、彼らは自分自身を救う方法を理解している実体です。

これは、ストレージのみのエンティティである(つまり、内部ロジックがない)POCOエンティティ(Plain Old CLR Objects)とは異なります。

これらの処理方法とのEFの主な違いは、EFが変更を検出する方法にあります。STEはEFに変更について通知し、EFは通常、追跡グラフを使用して、接続されたエンティティの変更を検出します。

注: STEは、EFの最近のバージョンでは非推奨になっています

また、POCOとEFを使用するSTEの間には、POCOプロキシエンティティと呼ばれる少しの中間点があります。このEntityFrameworkは、POCOクラスのプロパティをオーバーロードし、変更が発生したときにEFに通知するプロキシを作成します。これを行うには、クラスのすべてのプロパティを仮想化する必要があります。POCOプロキシは、特定のシナリオで、特に追跡グラフが大きい場合に、パフォーマンスが向上する可能性があります。ただし、すべての場合でパフォーマンスが向上するわけではありません。POCOプロキシに関するArthur Vickers(EFから)の投稿を参照してください。

POCOプロキシはSTEを置き換えることを目的としているというのが私の理解です。

于 2013-03-24T09:18:05.860 に答える