私は新しいデータベースで作業していますが、という同義語の番号を持つVisual Studio 2010データベースプロジェクトを使用して作成した状況があります我々のレガシーデータベースに。Visual Studioデータベースプロジェクトはシノニム上のビューを作成できません
私たちの計画は、これらの同義語についてのビューを作成することです。参照されているテーブルは恐ろしいので、ビューはデータをより良いフォーマットに変換します。その後、Entity Frameworkを使用してこれらのビューにORMを提供します(データを移行する際に実際のテーブルのビューを交換できるという考え方)。
問題:私は問題なしでデータベースプロジェクトのシノニムをスクリプト化できます。私はこれらのシノニムを参照するビューを作成しようとすると、しかし、私のようなエラーに直面しています:[dbo].[Person]
が新しいビューである
Error 1 SQL03006: View: [dbo].[Person] has an unresolved reference to object [dbo].[ma_contact].
...と
[dbo].[ma_contact]
は、レガシーテーブルの同義語です。
回避方法:すべてのビュー作成スクリプトをScript.PostDeployment.sql
に配置し、if-exists-then-drop-then-createロジックを手動で実行します。
これは理想的ではありませんが、今のところ存続可能です。誰もが、これらの意見を「適切に」行う方法について考えていますか?