none
[LINQ to SQL]修改dbml檔問題,急件 RRS feed

  • 問題

    • 作業系統版本-Windows XP
    • 開發工具版本-Visual Studio 2008
    • 開發環境-Web Form
    我在修改dbml裡面的檔案時,如果我今天清掉原本從本機拉過去所有table
    改從別的SQL Server裡拉進所有table到dbml裡面,專案重新建置過
    table種類、數量都是一模一樣只是位置不同
    那這樣我的   web.config中的connectionStrings的內容是不是也要改成連結到外部資料庫去

    如果我的connectionString路徑還是本機,dbml確是從外部資料庫拉進來的
    那使用LINQ修改DB資料時,是修改外部還是本機阿
    2009年10月30日 上午 02:08

解答

  • web.config中的連線字串為程式執行時所要存取的SQL資訊
    設計時期的是直接紀錄再dbml的檔案中,而dbml是一個標準的XML檔案

    所以如果你是由設計工具產生的dbml檔請依下面步驟處理.不需要重新再拉Table

    在右邊的方案總管,滑鼠右鍵點選.dbml檔案,選第二個選項(open with..),然後選XML Editor,這時VS會請你關閉dbml檔案,然後用XML編輯模式開啟檔案.

    尋找
    <Connection> 區段(應該在前幾行)
    其中有個ConnectionString="xxx" 就是你的sql連線字串.
    修改為你要的Server存檔後關閉即可.


    此外另一個簡單的做法

    開啟原dmbl,然後在左邊SQL資料庫選單中,選擇新的SQL DB,然後拖一個TABLE到dbml畫面中,這時候VS會判斷因為DB不同會問你要不要取代,選是.
    這動作跟上面其實是相同的. 


    此外,我建議你改用Entity Framework,因為LINQ to SQL未來已確定不會再繼續更新,它只是一個過渡時期的產品.
    • 已標示為解答 jcyang95 2009年10月30日 上午 05:59
    2009年10月30日 上午 03:14

所有回覆

  • Hi,


    如果您重拉後, web.config會產生另一個連線字串. 此時您只要將不需要的連線字串拿掉即可.

    連線字串為本機時, 則是以本機資料庫作為資料來源, 所以修改資料時是去修改本機的資料.
    微軟技術支援中心 (CSS)
    2009年10月30日 上午 03:11
  • web.config中的連線字串為程式執行時所要存取的SQL資訊
    設計時期的是直接紀錄再dbml的檔案中,而dbml是一個標準的XML檔案

    所以如果你是由設計工具產生的dbml檔請依下面步驟處理.不需要重新再拉Table

    在右邊的方案總管,滑鼠右鍵點選.dbml檔案,選第二個選項(open with..),然後選XML Editor,這時VS會請你關閉dbml檔案,然後用XML編輯模式開啟檔案.

    尋找
    <Connection> 區段(應該在前幾行)
    其中有個ConnectionString="xxx" 就是你的sql連線字串.
    修改為你要的Server存檔後關閉即可.


    此外另一個簡單的做法

    開啟原dmbl,然後在左邊SQL資料庫選單中,選擇新的SQL DB,然後拖一個TABLE到dbml畫面中,這時候VS會判斷因為DB不同會問你要不要取代,選是.
    這動作跟上面其實是相同的. 


    此外,我建議你改用Entity Framework,因為LINQ to SQL未來已確定不會再繼續更新,它只是一個過渡時期的產品.
    • 已標示為解答 jcyang95 2009年10月30日 上午 05:59
    2009年10月30日 上午 03:14
  • 感謝講解
    2009年10月30日 上午 07:17