web-dev-qa-db-ja.com

Visual Studio2013データベースプロジェクトはTFSオンラインおよびEntityFrameworkコードの最初の移行でどのように機能しますか

かなり長いタイトルですが、うまくいけば自明です!

コードを最初に移行するEntityFramework 5.0を使用して、Visual Studio2013で新しいプロジェクトを開始しています。

Gitを使用してプロジェクトをTFSOnlineに接続しました-5つの無料プロジェクト(BitBucketと同様)のソース管理を提供しますが、Visual Studioと強力に統合されているため、TFSOnlineを試すことに興味があります。

Visual Studio 2013でデータベースプロジェクトを使用したことはありませんが、これらすべてがどのように組み合わされているかについての情報はほとんど見つかりませんでした。

私が達成しようとしているのは、2つのプロジェクト(1つはMVC .NETプロジェクト、もう1つはデータベースプロジェクト)を使用して、単純なVisualStudioソリューションを作成することです。私の目標は、コードファーストの移行により、データベースプロジェクト(gitソース管理下で管理されている)のSQLスクリプトに必要な変更を加えることです。私のweb.configは、データベースとしてローカルの.mdbファイルを指しています。これは、EFでupdate-databaseを実行すると更新されるものであり、これが問題だと感じています。

EFにデータベースプロジェクトをコード移行に使用するように指示するにはどうすればよいですか?その後、ソリューションをデバッグするときに、開発データベースをローカルの.mdbファイルに自動的に構築するにはどうすればよいですか?

15
Evonet

Entity Framework Code Firstは、SQLスキーマを管理する方法です。信頼できる唯一の情報源は、コードベースにあります。移行により、スキーマのあるバージョンから別のバージョンに移動する方法が追加されます。 SQLスキーマは、ビルドプロセスの副産物です。

SQL Serverデータベースプロジェクトは、SQLスキーマを管理する方法でもあります。信頼できる唯一の情報源は、SQLServerデータベースプロジェクトにあります。スキーマ比較を使用して、あるバージョンから別のバージョンに移動するスクリプトを生成できます。


これらのテクノロジーの意図と機能が重複していることを考えると、それらを一緒に使用することは実際には意味がありません。エンティティフレームワークコードファーストを使用している場合は、可能な場合(および機能が状況に十分な場合)に移行を活用します。

移行を使用できない場合は、SQL Serverデータベースプロジェクトを使用してスキーマを管理し、それらをソース管理下に置くことができます。

これらを使用する場合は、SQL Serverデータベースプロジェクトの代わりに SQL Serverデータツール をインストールすることを検討する必要があります。データツールは、今のところVisual Studio 2012の実行が必要な場合でも、これらのプロジェクトのより高度なバージョンです。 Visual Studio 2013がRTMにヒットすると、Visual Studio2013のバージョンが利用可能になると思います。

16
jessehouwing