0

SQL Server 2008 データベースを作成した後、Visual Studio で Linq-to-SQL スキーマを作成しました。次に、.dbmlビジュアル エディター (Visual Studio 2010) で、スキーマに PK から FK への関連付けと PK から PK への関連付けを追加しました。

Visual Studio で作成した関連付けをデータベースにコピーするにはどうすればよいですか? つまり、 DBと同期するにはどうすればよいでしょうか。

4

1 に答える 1

3

Linq-to-SQLは優れたツールですが、スキーマの更新にこれに依存することはありません。DDL CREATE / ALTER / DROPステートメントを使用するアップグレードSQLスクリプトを使用してスキーマの変更を常に適用し、デプロイされたスキーマをディスク上のバージョンから現在のバージョンに変更します。このようにして、すべてのスキーマ変更をソーステキストファイルとしてバージョン管理下に置き、過去のバージョンから現在のアプリケーションバージョンにアップグレードでき、非常に大きなテーブルを使用した展開のアップグレードを含む、すべてのアップグレードパスを簡単にテストできます。

はるかに悪い代替手段は、 vsdbcmdのように、デプロイされたスキーマから目的のスキーマを比較できるSQL比較ツールを使用することです。これは些細な展開でも機能する可能性がありますが、数百万のレコードのテーブルをコピーして名前を変更すると、すぐに醜い欠点がわかります。

絶対にできないことは、スキーマの「マスター」コピーとして.dbmlファイルに依存することです。これは、Linq-to-SQLの支持者によって通常省略される小さな詳細であり、アプリケーションのv2を提供しようとして、アップグレードツールセットがないことに気付いたときに通常発見されます。

于 2010-05-26T22:16:57.493 に答える