私は遅延ロードパターンを使って完全にロードするか、遅延ロードすることができるDTOを持っています。ロード方法は、Flexアプリケーションに必要なものによって異なります。ただし、このDTOはFlexアプリケーション(swf)に送信されます。通常、コレクションは呼び出されたときにのみロードされます。しかし、私の場合、コレクションはFlexでのみ呼び出されるため、.NET側での実装は明らかにこの場合は機能しません(Flexがサーバー呼び出しを行う場合を除き...私が避けたいもの)。ゲッターを何にも割り当てずに呼び出す(レイジーローディング)
コレクションのゲッターでは、データがデータベースから取得されます。もし私がASP.NETページで作業しているのであれば、動作しますが、DTOがFlexに送られた場合は動作しません。
あなたはこれにどのように対処しますか?私はFlexにDTOを送る前にgetterを呼び出すことができますが、それはひどいようです... + getterを呼び出すことは、何かに割り当てられている場合にのみ行うことができます(そして、コレクションを保持するローカル変数は決して使用されません... )。
EagerLoadまたはLoadは、関数の名前を考えたものです。私たちは同じ方法で、方法がうまくいくという結論に達しました。 –
変数に代入することなくこのFinalizeメソッドでゲッターを呼び出す方法はありますか? –
私は反射を使わないとそうは思わない。しかし、リファクタは、ゲッターにプロパティを設定するメソッドを呼び出し、Finalizeメソッドでこの同じメソッドを呼び出すようにすることができます。おそらく反射を使用するようにこれをリファクタリングして、すべてのプロパティで使用できるようにします。 – tvanfosson