切り替えデータにアクセス戦略に対してこれまでよりさらに高いプロジェクト?

StackOverflow https://stackoverflow.com/questions/916873

質問

プロジェクトを実施していますデータにアクセス層(DAL) 視覚デザイナーの自動生成され多くのコード (弊社の場合:強い型のデータセットおよびDataSetTableAdaptersます。して順調なものではなかった。

しかし、ソース制御 を見たいので面倒なの編集、追加のダル.開始しました符号化データにアクセス による手書きのSQLステートメント (弊社の場合:ADO.NET SqlCommandsなど)というクリーナーた編集 特に見の変化によ源管理。

がんの不安を感じつつもの混合方法のデータアクセス。んのでしょうか。棒の自動生成方法 継続に変換するマニュアルSQLステートメント 変更された場合、必要な または何か?

編集:ィの回答 このアドレスの一般的問題の切り替えデータにアクセス戦略 私は一般の策定の問題をもたらしていました。

の取扱いについてのモデルデータはオブジェクト指向が強い。活用しています。純DataTablesの代わりにカスタムオブジェクト。

役に立ちましたか?

解決

選択は手動ADOへの変換やデータセット+テーブルアダプタを使用し続けるとの間にある場合は、

、私はあなたがデータセットに滞在する方がよいでしょうと思います。あなたはそれを使って自由にCRUDを取得し、任意の値を与えるものではありません、SQLを作成し、維持することに使用ので、少ない時間。

あなたはどちらかのより多くのオブジェクト指向のアプローチのために行っているように、

は道あなたのフレーズ、あなたの質問をすることで、離れたデータセット+テーブルアダプタのアプローチから行くの引数することができた、鳴りません。

あなたが処理するために、ますます複雑なビジネスロジックを持っている場合、同様のORマッパー+純粋なオブジェクトドメインにいくつかの研究/プロトタイピングを行うこともできます。これは、しかしRADアプローチにはあまり効果的です。私があなただったらやNHibernateは:私は(オブジェクトとテーブルの間に1のマッピングは、単純なスキーマ/オブジェクト構造を持っており、1に満足している場合)のLINQ 2 SQLをチェックアウトしたいです。 Entity Frameworkのは十分に成熟していないです。次のバージョンは良くなりますが、それはまだ潜在的に長い時間が来ています。

他のヒント

はい、あなたが持っているものに固執し、必要に応じて便利をリファクタリング。私は他の回答に反対するために嫌い、と物事を混乱させるが、別のデータ・アクセス・フレームワークを使用することによって、あなたは別のもののシステム頭痛を取引することができます。あなたが快適であるとあなたの基本を移動します。

ストレート「裸」ADO.NETに行くと、コード内で手動ですべてのDALの仕事をして多くの努力のように思えます。その他(NHibernateは、サブソニックなど。)によって推奨されているような、私は間違いなくORマッパーを見勧めます。

お使いのSQL Serverのバックエンドとは、.NET 3.0以上にしている場合は、

、あなたもLinq2SQLに見ることができる(その死の噂を大幅に誇張されている)単純なシナリオ(1:あなたのデータベース - にデータベーステーブルから1つのマッピングより高度なシナリオ(テーブルの多くは、ドメインモデルにおけるオブジェクトの継承の多く、複雑なマッピングシナリオ)のためのレイヤオブジェクト)、またはEntity Frameworkのます。

EFは、部分的にのみ正当化され、最近いわれのない非難の多くを取得してきた、私見、および新バージョン、EF V4は(原因.NET 4.0とVS 2010でアウトいつかこのまたは来年)本当に有望に見えます。

マルク

あなたは完全に、あなたのDALを書き換えている場合は、おそらくあなたは Sprint.NET のような永続化フレームワークになっているはずですまたはます。

...または 亜音速ダイアゴナル から Rob Conery :)

参照少なくとも3つのビデオで見つけることができるのプロジェクトページです。

DALは、通常、任意のアプリケーションの大部分にわたって、設計の部分です。それをシンプルに保ち、あなたが今必要とするか、または合理的に非常にすぐに必要と予想されるものを構築します。等のSqlCommand、SqlDataReaderの、実際の読み取りおよびデータベースへの書き込み、に接続するナットとボルトに比べてまだ比較的抽象的である。

あなただけの1の一般的なアプローチを使用している場合、あなたのコードが読みやすくなり、言った。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top