2011-01-31 20 views
2

新しいWebサイトで開発を開始しています.DALを使用して正しく実行しようとしています。以前のコードではクエリではありません。ASP.net c#データベースの接続が混乱している

私はそれをすべての原則を理解し、私はで動作するように本当に厄介であるには余りにも多くを行うテーブルアダプタとウィザードで、このDALを見つけています。誰かが私が代わりに使っているはずのものと、チュートリアルへのリンクがあればすぐにそれをどうやって進めるのかに関する推奨事項はありますか?

+0

.netのどのバージョンですか? LINQについて聞いたことがありますか? –

+0

私はlinqについて聞いたことがありますが、それを使用したことはありませんでした。私は2.0を使用していると思います –

答えて

1

ブログに投稿したコード生成ツール(ソースコードを含む)があります。 Data Access Layer CodeGen DALコードの大部分が生成されます。 Insert、Update、Deleteストアドプロシージャの "Gets"とコマンドパラメータ、および割り当てなどのコードの100%です。

コード生成では、ADO.NETコア(およびその他のもの)を使用します。コードを見てみると、(学習ツールとしての)コードをどのように書くべきかを知ることができます。

私はそれが役に立ちそうです。ただ、他のすべてのものと同じように

0

私は軽量でLinq to SQLのような使いやすいORMを検討することをお勧めします。私が働いている会社は2.5B $の太陽光発電会社で、私たちは次世代の製造アプリケーションの基礎としてL2Sを使用しています。これにより、Linqですべてのクエリを実行できるようになりました(強くクエリを入力する - 大きなメリット)ので、操作が非常に簡単です。

+0

彼が.NET 2.0を実行している場合はありません。 –

+0

L2Sは本質的に「フリーズ」であることに注意してください。長い話をすると、MicrosoftとEntity Frameworkの2つの異なるグループから1つのグループに2つのテクノロジが割り当てられ、EFがL2S AFAIKのORM /データアクセステクノロジとして優先されます。だからL2Sはおそらく今はOKですが、間もなくレガシー技術と見なされるでしょう。 – pelazem

+0

Tom、他に何があっても、.NET 3.5以上で動作するかどうかを確認することをお勧めします。 4.0は、Entity Framework 4.0のような選択肢を増やすだけでなく、LINQや現代の第3-pty ORMなどを探そうとするだけでなく、プロトタイピングのためにSubsonic(Google/Bing it)が大好きです。数分でそれと一緒に。 – pelazem

0

それをシンプルに保ちます。 DALを自分で作成する場合は、データベース操作を実行するために必要なコードのみを記述します。

public class MyDal 
{ 
    private SqlConnection _connection; 
    public MyDal() 
    { 
    _connection = new SqlConnection("connection string here");
} public DataSet GetSomeData() { // write the code that reads from the database and parses the data in a DataSet } }
もちろん、あなたがしたいのなら、あなた自身のDALを書かなくてもよい多くの良い解決法があります。個人的に、私はCastle ActiveRecordが好きです。データオブジェクトを作成して属性を与えるだけで、ActiveRecordはすべてのデータベース通信を処理します。

あなたは大きなプロジェクトに取り組んでいる場合は、Microsoft Entity Frameworkの(EF)のような他のソリューション、オームズ、中に調査するかもしれませんが、その他

0

あなたはオプションを持っている場合、私はあなたが.NETに行くことを示唆しています4.0を使用してサイトを構築し、WebMatrixを参照してください.WebMatixの使用方法とそれが使用するデータアクセス戦略の詳細については、Rob Coneryの投稿Thoughts on WebMatrixを参照してください。

1

自分でビルドすると便利な演習です。何が関わっているのかを意識させることができます。最初のパスとして

、なぜCRUD操作を行うためのCodesmithといくつかの一般的なDBルーチンの組み合わせを使用して独自のエンティティとデータアクセスをロールしませんか?あなたのアプリが大規模でない場合、これはおそらくあなたが必要とするものです。上を移動する

、LINQは、おそらく将来的にはこのようなものを移動するための方法になるだろうが、もちろん、言語固有です。

関連する問題