2009-05-01 5 views
1

私はいくつかの同様の質問を見てきましたが、それは私に直接適用されたものは見ませんでしたので、これが重複している場合は私を許してください。ビジネスロジックオブジェクトは、LINQ-to-SQLデータオブジェクトの知識が必要ですか?

私は何らかの理由で論理を持つビジネスオブジェクトを.dbmlファイルのLINQ to SQLデータオブジェクトにマッピングしようとしています(このbtwではかなり新しい)。私のビジネスオブジェクトは、対応するLINQ2SQLオブジェクトについて知る必要があるということです。私はthis articleを使ってPOCOをxmlマッピングファイルを使って試してみることを読んでいます。それは、私が望むものと似ているようですが、テーブルからクラスへの1対1のマッピングがないことを除けば、私は余分なテーブルを作るために必要だった多対多の関係。

私のビジネスロジックをデータでカプセル化することで、ビジネスオブジェクトを使用するコードはデータベースについて何も知る必要はありませんが、ビジネスレイヤは依然としてデータと密接に結びついていますビジネスレイヤオブジェクトを変更したり、異なるデータプロバイダに対して新しいインターフェイスオブジェクトを作成したりすることなく、DALをスワップできないようにしました。

どのようにこれらのレイヤーをデカップリングできますか?

答えて

2

何とかLINQ to SQLに縛られているのかどうかはわかりませんが、達成しようとしているのはNHibernateのほとんどのデフォルトです。私はLINQ to SQLと戦うよりも簡単に切り替えることができるかどうかを確認するためにNHibernateを見てみることをお勧めします。

私は、ツールを戦うことはほとんど常に悪い考えであることを発見しました。

関連する問題