私は現在、Nhibernate + WCF + WPF を使用する .Net n 層アプリに手を出している学生です。
非常にひどく行われていることの 1 つは、オブジェクト グラフのシリアル化です。実際にはまったく行われていません。現在、関連付けは無視され、どこでも DTO を使用しています。
私が言える限り、続行する方法の 1 つは、どのオブジェクトとコレクションをロードしてシリアル化し、ネットワークを経由するかを事前に定義することです。これにより、いくつかの関連付けをクライアントに提示できますが、これは制限があり、柔軟性がなく、一貫性がないように見えます (できますか?私はこの考えが気に入らないと言ってください)。
私が思いついたオプションの 1 つは、クライアント層でコレクションを遅延ロードする NHProxy を、ネットワーク経由で関連するものを取得する「disconnectedProxy」に単純に置き換えることでした。これは、Web サービス シグネチャを少し拡張し、生成されたプロキシに対していくつかのハッカーを実行する必要があることを意味しますが、これは T4/その他のコード生成実験としては優れているように思えました。
私が知る限り、これは一般的な障害のようですが、多くの読書を行った後、適切な/一般的に受け入れられている解決策を見つけることができませんでした. 私は特定の解決策と同じくらい方向性を探していますが、クライアントにつながりを「感じさせる」簡単な方法があれば教えてください.