close

SubSonic是在NET 2.0時代的一個DB存取元件,

只要是系統軟體,就是逃不過透過SQL語法進行查詢的命運,
然後SQL語法不論在搜尋資料、新增、更新、刪除資料,
通常都需要在Run Time的情況下才能知道SQL語法的正確性
(也就是你必須透過執行程式才能夠知道你的SQL語法的正確性)
這元件主要就是要避免這個問題,讓開發人員好上手操作。

官方網站:http://subsonicproject.com/
目前的版本是2.2版(2009/6/30)

最近剛好有專案遇到使用,所以寫一些使用心得出來

1.安裝
首先從官方網站下載新版的SubSonic,2.2版目前提供的為zip檔案
由於是免安裝的軟體,你可以選擇自己習慣的地方放入,例如
C:\Program Files\SubSonic\SubSonic2.2(筆者是習慣這樣放)

2.依附Visual Studio 2005
開啟Visual Studio 2005,並且選擇「工具」=>「外部工具」
2009-6-30 下午 04-58-16.png

按下「加入」,自訂一個看的懂得名稱,例如SubSonic 2.2
設定的屬性可以參考下圖
2009-6-30 下午 04-59-46.png

標題:SubSonic 2.2 (可任意變更)
命令:C:\Program Files\SubSonic\SubSonic 2.2\SubCommander\sonic.exe (這是根據你放置的路徑會有所不同)
引數:generate /out DAL\Generated (這是表示將會存取資料庫,資料庫中的Schame轉化成Class放入DAL\Generated的資料夾下)
出始目錄:$(ProjectDir) (專案目錄,表示當你進行產生Class的動作時,會將檔案放置的位置)

勾選「使用輸出視窗」(建議勾選,未勾選的話產生Class的時候不會提示任何訊息到結束)
勾選「提示輸入引數」(未勾選的話會根據「引數」上的參數直接產生Class)

3.建立Config檔案
Web.Config有三個區段需要修改
a.「configuration-configSections」底下(此段需要完全寫入)
<configuration>
  <configSections>
 ...(略)
    <!-- SubSonic使用 -->
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/>
  </configSections>
...(略)
</configuration>

b.「configuration」底下(設定資料庫連線字串用,可根據括弧內的設定調整)
<connectionStrings>
  <add name="(資料庫名稱1)" connectionString="Data source=(主機IP);Database=(資料庫名稱2);USER ID=(帳號);password='(密碼)'" providerName=""/>
</connectionStrings>

c.「configuration」底下(括弧內可調整,注意必須與資料庫設定的name屬性相同)
<SubSonicService defaultProvider="(資料庫名稱1)">
  <providers>
    <clear/>
    <add name="(資料庫名稱1)"
         type="SubSonic.SqlDataProvider, SubSonic"
         connectionStringName="(資料庫名稱1)"
         generatedNamespace="(命名空間)"/>  <!-- 例如SubSonic.Generated -->
  </providers>
</SubSonicService>

範例圖
2009-6-30 下午 06-26-54.png

4.利用SubSonic產生Class檔案
點選「工具」,可以找到剛剛建立的「SubSonic 2.2」,
2009-6-30 下午 06-33-53.png
點下後會出現參數小視窗,通常直接按下確定就可以了。
2009-6-30 下午 06-34-37.png

完成後,重新整理一下專案總管,就會看到SubSonic根據DB Schema產生的Class物件
2009-6-30 下午 06-35-08.png

因為我使用的是北風資料庫,所以打開Class Employee就會看到SubSonic自動產生的內容。
注意的是,命名空間是根據Web.config設定產生的
2009-6-30 下午 06-35-50.png


剩下的下回再繼續,好累=.=a

arrow
arrow
    全站熱搜

    gogo1119 發表在 痞客邦 留言(0) 人氣()