2009-08-17 5 views
0

私は、クラスを使用してデータレイヤーを構築しましたが、開発が高速であるため、強く型付けされたデータセットを使用することをお勧めします。私が構築しようとしているデータ層は、マルチDBMS(Oracle、MSSQL、MySQL ..)をサポートすべきです。誰がビルドするのが良いですか?データ型が強く型付けされたデータセットまたはクラス

強く型付けされたデータセットを使用するか、クラスを使用してビルドする方が良いでしょうか?

+3

なぜEntity Frameworkを使用しないのですか?これは、マルチDBMSサポート(http://msdn.microsoft.com/en-us/data/dd363565.aspx) – HuBeZa

+0

を使用してデータベースから生成されたクラス構造ですが、Microsoftキャンプから来るEFにOracleを接続するソリューションはまだないようです他のソリューションは商用または実稼働環境では使用できないテストです –

答えて

0

強く型付けされたデータセットを使用して、いくつかの大きなビジネスアプリケーションを作成しました。 (OracleとMSSQLの両方)

私は強く型付けされたデータセットで作業するのが好きで、次回もやり直します。 私は、C#とVB.NETコードで列が強く型付けされていることは大きな助けと思っています。 しかし、おそらくあなた自身の関数を作成しなければならないことに注意してください。 (where句に基づいて) Oracleの場合、私はSystem.Data.OracleClientを使用しました(これは私にとっては最高のものでした)

すべての数値は10進数に変換されることに注意してください。 (ID列にはスマートではありません) TableAdapterでSQL文字列を変更すると、変更がDecimalからInt32に上書きされます。これは非常に迷惑になることがありますが、それに慣れると大きな問題ではありません。

+2

強く型付けされたデータセットは素晴らしいですが、生成されたTableAdaptersはひどいです... app.configを変更する以外は簡単に接続文字列を変更する方法はありませんプログラム自体ではできません。そして、それらはジェネリックコードを使用せずに、特定のDBMSに対して常に生成されます。 –

0

ビジネス・コンテンツが変更されたとき(テーブルまたはフィールド)、コードを再コンパイルする必要がないので、データベース・テーブルに入れます。

しかし、これは根本的に異なるアプローチです。動的SQLを内部的に使用します(ユーザーの入力に基づいていない)。

0

私の好みは、ビジネスロジックのクラスをCSLAなどのアーキテクチャを使用して実装することです。データアクセスロジックは、同じクラスに含めることも、別々のクラスやデータセットに組み込むこともできます。ビジネスロジックにデータセットを使用し、それらを直接UIにバインドすることは、かなり制限的です。

関連する問題