私は新しいウェブサイトで開発を始めたばかりで、それを正しく行おうとしています。つまり、以前に持っていたコード内のクエリではなく、DAL を使用しています。
私はそのすべての原則を理解していますが、この DAL にはテーブル アダプターとウィザードがあり、操作が面倒です。代わりに何を使用すべきかについての推奨事項と、それをすばやく使用する方法に関するチュートリアルへのリンクはありますか?
私は新しいウェブサイトで開発を始めたばかりで、それを正しく行おうとしています。つまり、以前に持っていたコード内のクエリではなく、DAL を使用しています。
私はそのすべての原則を理解していますが、この DAL にはテーブル アダプターとウィザードがあり、操作が面倒です。代わりに何を使用すべきかについての推奨事項と、それをすばやく使用する方法に関するチュートリアルへのリンクはありますか?
ブログに投稿したコード生成ツールがあります (ソース コードを含む)。 データ アクセス レイヤー CodeGen 基本的に、DAL コードの大部分を生成します。これは、"Gets" のコードと、Insert、Update、Delete ストアド プロシージャのコマンド パラメータと割り当てなどの 100% です。
コード生成では ADO.NET Core を使用します (他には何も使用しません)。コードを見るだけで、(学習ツールとして) コードをどのように記述すべきかがわかります。
お役に立てば幸いです。
独自のものを構築することは有益な演習です。これにより、何が含まれているかを認識できます。
最初のパスとして、CRUD 操作を行うための Codesmith といくつかの一般的な DB ルーチンを組み合わせて、独自のエンティティとデータ アクセスを展開してみませんか? アプリが大規模でない場合は、おそらくこれで十分です。
先に進むと、LINQ はおそらく将来このようなものを使用する方法になるでしょうが、もちろん言語固有です。
オプションがある場合は、.NET 4.0を使用して、WebMatrixを使用したサイトの構築を検討することをお勧めします。WebMatixの使用とそれが採用するデータアクセス戦略の詳細については、RobConeryによるWebMatrixに関する考えを確認してください。
他のすべてのものと同様に、シンプルに保ちます。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) などの他のソリューションや ORM で調査することもできます。
Linq to SQL などの軽量で使いやすい ORM を検討することをお勧めします。私が働いている会社は 25 億ドル規模のソーラー製造会社で、次世代の製造アプリケーションの基盤として L2S を使用しています。これにより、Linq ですべてのクエリを実行できるようになり (厳密に型指定されたクエリ - 大きな利点)、操作が非常に簡単になります。