2011-07-08 16 views
2

これはおそらく哲学的な質問に至るものですが、実際には<asp:sqldatasource>をaspxファイルに使用するか、コードの背後にある?asp.net sqldatasource vsコードの背後でこれを行うには

もしそうなら、彼らはなぜですか?私は自分の好みを持っていることを知っていますが、私は他人が何を考えているのか不思議です。

編集:

私は意図的にDAOの背後にあるかさえコードでできるだけ多くを置くことである私の好みを入れていません。私はsqldatasourceがapsxファイルのすべてを呼び出しているコードを更新する必要があるので、他の人が何を考えていたのか不思議でした。

回答いただきありがとうございました。あなたのご意見に感謝します。

+0

ホイールを改造しないでください。 – asawyer

+2

テスト/クイックハックとは別に、SqlDataSourceではなくObjectDataSourceを使うべきです。 http://stackoverflow.com/questions/1207295/sqldatasource-vs-objectdatasource/1207379#1207379 –

+0

[コードビハインドの宣言型データバインディングとADO.NETの可能な複製](http://stackoverflow.com/questions/5319991) /宣言 - データバインディング - 対 - アドイン - ネットインコードビハインド) –

答えて

2

asp.netページ内にSQLDataSourceを埋め込むことは、プレゼンテーションレイヤーとデータアクセスレイヤーを結合することで、テスト容易性と柔軟性が低下します。自分のデータ接続を自分のクラスに移動することを強くお勧めします。そして、ページの背後にあるコードが引き出すことができるデータアクセスレイヤーを作成しました。

理想的には、これをさらにN層ソリューションに分けてください。 Link

2

単純なアプリケーションでは、asp:sqldatasourceを使用しない理由はありませんが、多くの開発者は、データアクセス戦略の詳細をビューロジックから分離したいと考えています。

nHibernateのようなORMに切り替えるにはどうすればよいですか? aspxページからすべてのasp:sqldatasourceを取り除く必要があります。コード内でワイヤリングを行った場合は、aspxページに触れる必要はありません。あなたがさらに抽象化して、DAOに言えば、あなたのコードの裏に触れる必要もなく、DAOを切り替えることができます。

関連する問題