1

私は ASP.NET Web アプリケーションに取り組んでいます。私たちは小さなチーム (学生 4 人) であり、データベース インスタンスをホストするための専用サーバーにアクセスできません。したがって、この Web アプリケーションでは、データベース ファイルを App_Data フォルダーに配置することにしました。

問題は、私たちのプロジェクトが TFS でソース管理されていることです。そのため、ソリューションを開いて Web アプリケーションを起動しようとするたびに、データベースが読み取り専用であるという例外が発生します。データベース ファイルは自動的にチェックアウトされないため、これは論理的です。

ソリューションを開くたびにデータベース ファイルを手動でチェックアウトすることを回避する回避策はありますか?

ありがとう。

4

2 に答える 2

1

MDFファイルをチェックインしないでください。必要なテーブルやその他のデータベースオブジェクトを作成するデプロイメントスクリプトを使用してプロジェクトを開発する必要があります。VSサーバーエクスプローラーから直接MDFを変更しないでください。データベーススキーマへのバージョンベースのアプローチを使用します。

私はあなたが「しかし難しい」と言うことを知っていますが、私を信じてください、VSウィザードがあなたを導く代替案ははるかに悪いです。チーム開発の観点からだけでなく、展開の観点からも。サイトのv1を展開した後、変更を加え、v1.1またはv2を展開する必要があります。毎回、同じジレンマに直面します。4つのMDFファイルがあり、各チームメンバーの参加に1つ、デプロイされたサイトに1つあり、スキーマを調整する方法はありません。最終的にSQLCompareのようなSQLdiffツールを要求することになりますが、それらは1トンのコストがかかり、SQLスキーマの保守に関しては完璧にはほど遠いものです。

さらに、データベースソースとしてスクリプトを使用すると、誰がいつ何を変更したかを追跡するなど、他のすべてのソース管理機能ともうまく連携します。

于 2010-04-17T02:21:29.633 に答える
0

VisualStudio用の「VisualStudioTeamSystem Database Edition」アドオン(以前は「VisualStudio Team Edition for Database Professionals」、以前は「DBPro」と呼ばれていました)をインストールできる場合は、現在のデータベースをVisualStudioデータベースにインポートできます。プロジェクト。これは、VSソリューション全体の一部になる可能性があります。

これにより、Visual Studioでスキーマオブジェクト(テーブル、ストアドプロシージャ、アクセス許可など)を管理し、データベーススキーマをTFSとうまく統合できます。

また、VSプロジェクトのスキーマをデータベースサーバーに展開し、データを失うことなく(またはデータが失われる場合は失敗することなく)変更を自動的に処理することもできます。

VS 2008のアドオンは、次の場所にあります。http: //www.microsoft.com/downloads/details.aspx? FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en

于 2010-04-17T04:12:14.903 に答える