2010-12-14 9 views
3

私は次のプロジェクトにNetTierを使用しています。NetTierへの変更に関するアドバイス

問題は です。スキーマ内のすべてのテーブルにAccountIdフィールドがあります。 DALへのリクエストがあるたびに、AccountIdが渡されてクエリのフィルタとして使用されることが必要です。

このパラメータを使用した余分なオーバーロードが生成された場合は許容されます。

私はこの機能が組み込まれていないと思うので、追加するテンプレートの変更をどこから始めるべきだと思いますか?

答えて

3

生成されるクラスの迷路をあなたが知っていれば、NetTiersテンプレートを変更することは難しくありませんが、通常は非常に面倒で非常にエラーがあります。それ以外の場合はすべてのテーブルでたAccountId列を持っている意味がありません -

私の最初の仮定は、あなたがオフに生成されているデータベースがあるのいずれかのみいくつかのテーブルを持っているかdenormalisedされていることです。後で、構造を正規化することができない場合、追加のAccountIdフィルタを使用してデータベースの外部キー(DeepLo​​adsを含む)に基づいて構築されたすべてのナビゲーションプロパティを取得することはかなり大きな変更になると考えられます。

さらに、AccountIdを含むオーバーロードを追加することは許容される解決策であると言及します。

:しかし、これは任意のDALの消費者へ たAccountIdパラメータを必要としない既存のNetTiersオーバーロード...とにかく

を残して、ここにあなたが変更を検討する必要がある区域の一部の要約です

私の一般的なアドバイスはNetTiersとCodeSmithが数年前にDALSを構築するための最適なツールでしたが、私はこれらの日、この道を行くお勧めしなかったことです。 MicrosoftのEntity FrameworkとオープンソースのNHibernateの進化により、(たとえコード生成レベルであっても)データアクセス用配管層に深く掘り下げる必要はありません。

+0

私の質問ではなく、ネットティア全体をどこから始めるべきかについての優れたヒント。ありがとう –

関連する問題