私はプロジェクトでORMとしてEntityFrameworkを使用しましたが、私はこの技術の使用に問題はありません。私はEntityFrameworkがプロキシを作成すると聞いた。このORMが作成するプロキシが何であるか知りたいですか?それは何ですか?そして、EFがそれを作成するとき?言い換えれば、ORMのトピックで頻繁に使用される用語「プロキシ」の意味は何か。EntityFrameworkのプロキシの意味は何ですか?
助けが役に立ちます。
ありがとうございました。
私はプロジェクトでORMとしてEntityFrameworkを使用しましたが、私はこの技術の使用に問題はありません。私はEntityFrameworkがプロキシを作成すると聞いた。このORMが作成するプロキシが何であるか知りたいですか?それは何ですか?そして、EFがそれを作成するとき?言い換えれば、ORMのトピックで頻繁に使用される用語「プロキシ」の意味は何か。EntityFrameworkのプロキシの意味は何ですか?
助けが役に立ちます。
ありがとうございました。
ORM世界のプロキシは、自動的に生成されたタイプで、ドメインオブジェクトタイプから継承します。プロキシは、まだデータベースからのデータが入力されていないが、それ自身のIDのみを知っているインスタンスを表します。データベースにマップされたプロパティにアクセスするたびに、プロキシサブクラスはデータベースからのロードを実行し、ロードはクライアントコードに対してトランスペアレントになります。
プロキシは、遅延ロードされた2つのエンティティ間にリレーションシッププロパティがある場合に作成されます。例えば。 user.Address
プロパティにアクセスすると、実際に返されるのはアドレスプロキシオブジェクトです。そのオブジェクトのプロパティにアクセスすると(例:user.Address.StreetName
)、Addressオブジェクトがロードされます。
ありがとうございました。 – saber
このチュートリアルでは、プロキシクラスでの作業を参照してください: http://www.asp.net/entity-framework/tutorials/advanced-entity-framework-scenarios-for-an-mvc-web-application
私は、しばしばリンクがつぶれていることを知っていますが、これは非常に有用なチュートリアルです。 – batpox
EFは常にプロキシを作成しません。これを無効にすることができます。これは、負荷が大きい場合やエンティティをシリアル化する場合(WCFなどで使用する場合など)に行うことができます。 – Kit
私はジョナスの提供を受け入れましたが、私はすべての専門家からより多くを聞きたいと思います。 – saber