2010-05-25 165 views
2

我在web.config中定義就像一個連接字符串:爲什麼我的DataClassesDataContext沒有默認構造函數?

<connectionStrings> 
<add name="LibraryConnectionString" connectionString="Server=.\SQLEXPRESS3;Database=Library;Integrated Security=true" /> 

嗯......李不明白爲什麼當我拖動和拖放表到一個新的數據類的dbml它不是構建一個默認的構造函數指定連接字符串....

我只有構造函數像PARAMS:

public DataClassesDataContext(string connection) : 
     base(connection, mappingSource) 
{ 
    OnCreated(); 
} 

我確實需要LinqDataSource的默認構造函數..

任何人都可以提出解決方法嗎?

感謝

+0

你到底在問什麼? – SLaks 2010-05-25 16:34:23

回答

0

你可以做一個默認的構造在這樣一個單獨的文件:

partial class DataClassesDataContext 
    public DataClassesDataContext() 
     : this(ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString) { 
    } 
} 

確保不叫OnCreated兩次。

+0

是的,但問題是,我需要把這個構造函數那裏,只要我做任何修改數據庫結構(因爲dataContext被重新創建).... – 2010-05-25 16:35:51

+1

把構造函數在一個部分類在另一個文件。 – SLaks 2010-05-25 16:42:45

1
  • 第1步:記住你的dbml文件名並刪除你的dbml文件。
  • 第2步:然後添加一個新的具有相同的舊名稱的dbml文件到相同的位置(添加 - >添加新項目 - > LINQ to SQL類)。
  • 第3步:雙擊解決方案資源管理器中的dbml文件。
  • 第4步:現在將所有表拖放到該佈局的dbml。
  • 第5步:最後添加與以前所做的表的所有關聯。
  • 沒有錯誤,,,不需要你自己做一個默認的構造函數。如果你按照我提到的那樣自動創建帶有參數的構造函數,,,當你改變任何數據時,它可以根據你的需要自動改變... THANX ..請選擇我的回答
相關問題