C#用の単純なCRUD(またはDAL)ジェネレーターを探しています。SQL Server 2008データベースにはテーブルが2つしかないので、重いものは必要ありません。
助言がありますか?.netTiersは知っていますが、必要なものには多すぎます。
ありがとう!
更新:LINQ to SQLを試しましたが、ニーズにうまく機能しません。
C#用の単純なCRUD(またはDAL)ジェネレーターを探しています。SQL Server 2008データベースにはテーブルが2つしかないので、重いものは必要ありません。
助言がありますか?.netTiersは知っていますが、必要なものには多すぎます。
ありがとう!
更新:LINQ to SQLを試しましたが、ニーズにうまく機能しません。
過去のプロジェクトで SubSonic を使用しましたが、軽量で使いやすいです。
簡単なチュートリアル ビデオが提供されており、完全にセットアップするのに 10 分もかからないはずです。Web アプリケーション プロジェクトを扱うビデオの後半を見ることをお勧めします。カスタム ビルド プロバイダーを使用する代わりに、クリックするたびに DAL を作成するカスタマイズされた Visual Studio ボタンを作成する方法を示しているからです。動画の前半。
データ、アクティブ レコード、型指定されたストアド プロシージャとビューの生成、または使用できるクエリ言語にアクセスするためのいくつかの方法を提供します。
使用後、いくつかの癖を見つけました。
NullReferenceException
. 回避策は、プロシージャで使用されていないダミー パラメータを作成することです。DeepSave()
機能は現在の 2.1 バージョンでは機能しません。結合されたテーブルから個別にデータを保存する必要がありますWhere(Tag.Columns.TagName).IsEqualTo("subjective")
文字列値を使用して列Tag.Columns.TagName
を参照するようにしてください。そうしないと、Column.Schema
Visual Studio には、ほとんど誰も知らないT4というコード ジェネレーターが付属しています。
CRUD テンプレートを作成するために比較的簡単に使用できるはずです。
編集
そして、ここにその方法の例があります: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/
MyGenerationには、かなり優れたCRUDSP生成テンプレートがいくつかあります
http://pureobjects.com/を試してみてください 。他の作業は必要ありません
DataSetデザイナを使用して作成されたDataSetを使用するのはどうですか。昔(.NET 1.0および1.1)では、DataAdapterをデザイン画面にドラッグし、Selectクエリを指定すると、Selectクエリに基づいて、Insert、Update、およびDeleteクエリが作成されていました。
お金が大きな問題ではない場合に備えて、私はCodeSmithのテンプレートで大きな成功を収めました。
CRUD 操作用のサンプル テンプレートは数多くあり、データベースから直接読み取られます。
LINQ To SQLは簡単で、.NET3.5SP1に組み込まれています。
動的データWebアプリケーション(LINQ to SQLを使用)または動的データエンティティWebアプリケーション(エンティティフレームワークを使用)を試しましたか。
Visual Studioウィザードは、単純なCRUDアプリを作成します。
フォーム上でデータグリッドをドラッグし、接続プロパティをクリックして、そこからウィザードに従います。
ベストプラクティスではありませんが、シンプルで機能します...
SubSonic 3 ActiveRecord を使用していましたが、その後 BLToolkit に移行しました。BLToolkit は適切なドキュメントが不足しているため、使い始めるのがはるかに困難ですが、慣れると SubSonic に非常に似ています... パフォーマンスの問題がないことを除けば.
SubSonic は素晴らしく簡単ですが、パフォーマンスは実用的なものには耐えられません。結合またはサブクエリが実行されるたびに、テーブル全体がプルダウンされます。
LLBLGen Pro をチェックしてください。無料ではありませんが、高価ではありません。1 時間以内に起動して実行する (コードを作成する) ことができ、付属のテンプレートを使用すると、基本的に何でも実行できるコードが生成されます。データベース インターフェイスのコードについて考える必要さえなくなるのは、とてもいいことです (そして生産的です)。