使用VS2010的Database項目模板統一管理數據庫對象

Visual Studio 2010 有一個數據庫項目模板:Visual Studio Database Project(以下簡稱VSDP),VS 2003/2005/2008也有類似的項目,在VS2010上的得到了很大的加強,現在還具備了智能感知,構建時驗證和自動部署功能,VSDP是針對典型的數據庫開發任務而設計的,可以對原有數據庫反向工程,添加表,存儲過程和其他數據庫項目,而且有選擇性地將修改部署到目標數據庫中。 他的主要特性有:


1、模型對比(Schema Compare)
在項目的維護和升級期間,至少需要維護產品數據庫(正在正式運營的數據庫)、測試數據庫、開發數據庫這三個數據庫,那開發數據庫結構變更後,如何同步到其他兩個數據庫上呢? 模型對比功能可以很好地解決此問題。 如果開發數據庫結構變更,可以通過選擇菜單的Data → Schema Compare → Filter中選擇Different Objects, Missing Objects or New Objects來過濾列表。 這個過濾可以使我們快速地看到哪些修改需要更新到目標數據庫中。 然後我們可以保存修改腳本到一個文件中,並在T-SQL編輯器或者直接將修改精寫入到目標數據庫。


2、數據對比(Data Compare)
用來比較兩個數據庫的表或者視圖中數據是否相同,可進行比較的前提是數據庫名稱一致、表具有相同的主鍵、唯一索引或唯一約束。 比較完後可以對修改保存到目標數據庫或者腳本。 這個特性可以將產品數據庫的數據導入到開發數據庫或者測試數據庫,以便於開發和測試。


3、數據生成計劃(Data Generation Plans)
在項目中,開發團隊每周至少一次提交版本到測試環境,測試人員針對新的數據結構如何快速生成測試基礎數據呢? 數據生成計劃會解決此問題。 在數據生成計劃計劃中,我們要定義生成數據的表、每一個表要生成的記錄行數和要插入數據的類型。 數字類型比較容易生成,針對特殊的數據比如Email、電話號碼可以通過正則表達式RegEx完成。


4、重構(Refactor)
主要用來重命名數據庫對象,比如數據庫名稱,表名稱,視圖名稱。 當要重命名的對象改變後,對此對象的引用都會相應地改變。
下面我們來看看這個項目模板的基本使用方法:
在你的解決方案中添加項目,選擇Database下的數據庫模板,選擇SQL Server 2008 Database Project,輸入一個項目的名稱,你也可以選擇一個SQL Server 2005 Database Project。

![](upload://4ivA4iPGiycofoKCGpCMbo6JgaZ.jpeg)



點擊OK按鈕後就在我們的解決方案裡頭里加入了數據庫的工程:
![](upload://95V7R4mf1VRlA5vuvq6JW5OEiLS.jpeg)


現在可以通過我們數據庫工程進行相關的數據庫開發工作了,例如通過Tables節點管理數據庫表的對象:

![](upload://k2QYG03YA8G6CPrdtAESy9xqnKU.jpeg)


![](upload://lK8pJQNMDWqvpNRNtN9GzTIGS5q.jpeg)


![](upload://uNhfHQYLiHYNmNKLbHqhwATQicI.jpeg)


![](upload://6S3QQFftMxVNiiqErc5GDxTAsGp.jpeg)


![](upload://wb3FHtC0SaonRqNiU99hLIwsq0y.jpeg)


![](upload://7nG2jHuYQKp5b75863snasBuEEV.jpeg)


![](upload://bhtU6StReBAt6tghbHLAXJ5zmk7.jpeg)


![](upload://5INodoIk5XqaufgdXoePuqiL31B.jpeg)








轉載自:http://www.webjx.com/aspnet/2010-05-21/24101.html