私は、基本的に3つのレイヤーを持つプロジェクト、すなわちプレゼンテーション、ビジネス、データを扱っています。 各レイヤーは異なるプロジェクトにあり、すべてのレイヤーは別のプロジェクトで定義されたDTOを使用します。 ビジネス層とデータ層は、データベースを照会するときにDTOまたはDTOのリストを返します。多層アプリケーションのビューを扱う方法
これまでのところよくできていましたが、今はビューをクエリする必要があり、もちろんこれらのビューは既存のDTOと一致しません。今まで私たちが行ってきたことは、特別なDTOクラス、ビジネスクラス、データレイヤクラスを作成して、通常のエンティティ(挿入、更新などを除く)と同様に扱うようにすることです。
しかし、彼らが明らかにそうでないときには、なぜ通常のエンティティのように扱われるべきですか?まあ、DTOは必要だと思われますが、すべてのビューに対して "ビジネスロジック"とデータレイヤークラスを作成するのはむしろ難しいようです。だから私は、すべてのビューのロジック/コードを保持する一般的なビジネスクラスとデータレイヤーのクラスを作成すると考えました(おそらく、私は別のビューごとにDTOを作成しなければならないかもしれません)。あなたはこの問題をどのように解決しますか?
編集:9. 2011年8月 申し訳ございませんが、投稿が不明瞭になっている可能性があります。 ビューで私はSQLサーバーからのビューを意味します。