データを取得できる基本的な DAL と、この DAL を使用して複数のオブジェクトを含むビジネスレイヤーを構築しました。データをビジネス オブジェクトにマップし、何かを行ったら、データをデータベースに書き戻したいと考えています。一部のビジネス オブジェクトには多数のプロパティがあるため、ビジネス オブジェクトのすべての値をパラメータとして対応するデータ サービスのメソッドに渡すことはできません。
私が考えてきた他の方法:
ビジネス オブジェクトを対応するデータ サービスに渡し、そこですべての値をパラメータとして SP を実行します。-ビジネスオブジェクトをDALに渡す必要があり(分離に違反)、おそらく50を超えるパラメーターを持つSPになるため、最悪です
ビジネス オブジェクト内に空の (?) データセットを作成し、ビジネス オブジェクトからの値を入力し、そのデータセットをデータ サービスに渡し、dataadapter を介してデータベースを更新します。「... WHERE 0」-SQL 文字列を使用して空のデータセットを作成することを考えました。それは良い習慣でしょうか?
このようなことをするのはこれが初めてです。私には後者の方が良いように思えますが、他にもっと良いアプローチがあるのではないでしょうか? または、私が知らないいくつかの理由で最初のものの方が優れていますか?
どうもありがとうございました!
[編集:] C# Express を使用しているため、LinQ2SQL を使用できません (ローカル DB のクエリのみをサポートしていますが、私のものはリモート DB です)。