2011-12-10 24 views
-1

私は多くのテーブル、ビュー、およびストアドプロシージャの存在に依存するプロジェクトに取り組んでいます。今まではSQL Server Management Studioでこれらをすべて構築しました。Visual Studio 2010のSQL&LINQ

私はVisual Studioの内部で引き続き作業したいと思います。これにより、バージョン管理の利点が得られます(他にもいくつかの利点があります)。

私のソリューションに新しいプロジェクトを追加し、ビューの1つで作業を開始しました。エラー1 SQL03006:ビュー:[dbo]。[vw_Test2]にオブジェクト[EV870_ACCT_MASTER]への未解決の参照があります。

私は私のデータベースプロジェクト

を基準としてdbschemaユーティリティダンプを-adding vsdbcmd.exe を使用してdbschemaユーティリティダンプを-creating ことによってこれを克服することができましたが、これは正しいアプローチですか?

スキーマビュー(私は「外部要素」の表示を有効にする必要がありました)でスキーマ(テーブル、ビュー、sprocsなど)が表示され、エラーメッセージが表示されなくなりました。注:私は[$(SQLDatabase)]。[dbo]。[EV870_ACCT_MASTER]

のように参照しなければなりませんでした。私はこれらのオブジェクトを使ってどのように作業できるかを知りたいと思います。私はどのように新しいテーブル、ビュー、sprocsなど(私はLINQを使用したい)を使用するか分からない。まずスクリプトを実行する必要がありますか?どのようにして "CREATE OBJECT"スクリプトであるかは、将来的に実行されるでしょう(オブジェクトがデータベースに既に存在するため、おそらく失敗するでしょう)。私のプロジェクト/ソリューションは、どのオブジェクトを更新して更新する必要があるかを知っていますか?

最終的にはさらに多くのことをしたいと思っています。私の目標は、ソリューションは移植性があり、サーバー/データベースは構成可能であるということです。次に、テーブル、ビュー、およびストアドプロシージャが存在しないか期限が切れている場合は、作成または修正されます。これは可能ですか?

LINQを使ってビューなどの作業を開始すると、これらのサーバー/データベース参照は動的なままにしますか?

私はかなりの質問があることを知っていますが、私は誰かが正しい方向に私を指すことができることを望んでいます - それは多くの便利なドキュメンテーションオンラインではないようですこれまでのところ)。

リー

答えて

0
私は仕事

(と私が働いていた最後の場所)

のおかげで我々はアプリと一緒にデータベースを作成するためのSQLスクリプトを配布しています。 sqlでは、バージョン番号が格納されており、アプリケーションの実行時に、そのバージョンがデータベースに格納されている番号よりも新しいかどうかがチェックされます。そうであれば、スキーマの変更があった場合に備えて新しいSQLスクリプトを実行する必要があるかもしれないことが分かります。これが起こると、複数のスクリプトを何度も実行しても問題にならないように書かれているので、すべてのスクリプトを実行するだけです。このようにして、新しいスクリプトを追跡することについて心配する必要はありません。バージョン番号を確認するだけです。

管理スタジオではなくVisual Studioでこのような作業をする限り、なぜ誰がそれをしたいのか分かりません。ソース管理に使用するものに応じて、Management Studioのフックを取得できるかもしれませんが、そうでない場合でも、SQLスクリプトをソース管理に置くことを止めません。そして、私は管理スタジオのSQLファイルをVisual Studioに変換することから、いつでもソース管理を組み込むことができます。

+0

これは、ソースコントロール 'フック'が組み込まれているためです。たとえそれを慣れてしまってもそれほど大したことではない手動で行う必要があるとしても、sqlファイルはソース管理に置かなければなりません。 –

+0

それは理にかなっていますが、おそらくあなたはそれをすべてあなた自身でコーディングする必要がありますか?ビジュアルスタジオが私のためにそれを行うことができれば、ホイールを再発明するのは狂っているようだ。 バージョンコントロールに関するあなたの意見は有効ですが、私は実際にはSQLスクリプトとプロジェクト/ソリューションを個別にチェックアウトする必要はありません。 –

+0

@LeeTickett自分でスキーマをコード化する必要があることについて、私があなたに従っているかどうかはわかりません。 Management Studioにはスキーマを作成するためのGUIがあり、オブジェクトエクスプローラ内のオブジェクトを右クリックして自動的にスクリプトを生成できます。 ソース管理には何を使用していますか? –

関連する問題