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 了,算是一勞用逸的方法。