The Will Will Web | 設計 LINQ to SQL Class 的注意事項 (2)

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

設計 LINQ to SQL Class 的注意事項 (2)

延續之前寫的設計 LINQ to SQL Class 的注意事項,最近又有一些小心得可以分享。

  1. 避免從 Server Explorer 拖曳 Table 進 LINQ to SQL Designer 時在 Web.config 中多產生一組新的 ConnectionString

    我們常會從 Server Explorer 直接拖曳表格進 LINQ to SQL Designer,尤其是新增表格的時候,第一次用的時候他其實會自動幫我們建立一筆 ConnectionString 到 web.config 中,預設的名稱是 "資料庫名稱ConnectionString"。

    從 Server Explorer 拖曳 Table 進 LINQ to SQL Designer  

    不過如果你如果日後有將該 ConnectionString 改變了之後,下次再從 Server Explorer 拖曳 Table 進 LINQ to SQL Designer 時,Web.config 就會又多新增一筆 ConnectionString!

    要解決這個問題的方法就是重新設定 Server Explorer 中的連線,且 Server Explorer 中的連線的所有參數設定必須跟你在 Web.config 中的設定完全一模一樣才行,包括 Data Source, Initial Catalog, User ID, Password 或其他相關參數都要一樣才行。

    重新設定的步驟如下:

    刪除現有的連線 

    新增連線 
     
    設定連線參數必須跟你在 Web.config 中的設定完全一模一樣才行

    設定完成之後下次再拖曳表格進 LINQ to SQL Designer 時就不會再莫名其妙的新增連線參數了!
  2. 之前提及的「在設計 LINQ to SQL Class 的時候,有預設資料的欄位要特別設定 Auto Generated Value 為 True,否則會新增失敗」可以改由 DBML 的 Partial Class 解決。

    我在 SQL 2000 的 Uniqueidentifier 欄位在 LINQ to SQL 的問題 有提到這個技巧,就是在 OnCreated() 事件中加入一些原本要設定預設值(Default Value)的欄位,這樣你就不用每次重新拖曳表格時又要全部手動修改一次 Auto Generated Value 為 True 了,算是一勞用逸的方法。