4

私は Linq2Sql を使用していますが、データベースが変更されるたびに dbml を再作成するのにうんざりしています。すべてのテーブルとすべてのプロシージャが必要な場合、モデルの作成をスクリプト化することはできますか? 理想的には、ビルド プロセスまたはカスタム ツールの一部になります。

単純な「スキーマから更新」ボタンでも問題ありませんが、私が知る限り、そのようなことはありません。現在、モデルを更新する唯一の方法は、変更されたテーブルとプロシージャを削除し、サーバー エクスプローラーから再度ドラッグすることです。

多分私は何かを逃していますか?

4

3 に答える 3

4

SQLMetalコマンド ツールを使用できると思います。

OPによる編集:コードをチェックアウトし、これを使用してクラスを生成し、コードをコミットするバッチファイルを作成しました。次に、スキーマが変更されるたびにこのバッチ ファイルを実行するデータベース スキーマ変更レベル トリガーを作成しました。したがって、スキーマが変更されると、Linq クラスが作成され、チェックインされ、CCNet が DLL を作成して配布します。甘い......

于 2009-04-23T15:16:53.347 に答える
0

SQLメタル

http://msdn.microsoft.com/en-us/library/bb386987(v=vs.110).aspx

SqlMetal コマンド ライン ツールは、.NET Framework の LINQ to SQL コンポーネントのコードとマッピングを生成します。SqlMetal は、次のようなさまざまなアクションを実行できます。

データベースから、ソース コードとマッピング属性またはマッピング ファイルを生成します。

データベースから、カスタマイズ用の中間データベース マークアップ言語 (.dbml) ファイルを生成します。

.dbml ファイルから、コードとマッピング属性またはマッピング ファイルを生成します。

このツールは、Visual Studio と共に自動的にインストールされます。

SQLMetalPlus

更新ボタンを使用して Visual Studio 内で .dbml を自動生成できるプロジェクト。

http://www.codeproject.com/Articles/37198/SqlMetalPlus-A-VS-Add-in-to-Manage-Custom-Changes

Github でフォークされた SQLMetalPlus

ビルド済みのインストーラーが含まれています。

https://github.com/thedemz/dotnet-sqlmetal-plus

于 2014-04-25T21:25:18.380 に答える
0

お金が問題にならない場合は、Visual Studio 2008 チーム システムのデータ モデリング エディションを入手し、データベース プロジェクトを作成して、それを使用してデータベース、データ モデル、およびエンティティ モデルを維持することをお勧めします。データベースとエンティティ モデルの同期を維持する作業がゼロというわけではありませんが、スキーマ比較ツールを使用すれば、そう遠くはありません (面倒な作業はすべて自動的に行われます)。

私見ですが、データ モデリングと設計の往復は、Visual Studio 2008 のチーム エディションをプロフェッショナル エディションよりも高く購入することを正当化する以上のものです。

于 2009-04-23T15:52:25.257 に答える