2011-02-13 15 views
1

正如您可能從我以前的文章中看到的,我開始自學MVC和C#,因爲現在是時候讓我從一個設計師給開發者。我被告知不要在Visual Studio中使用服務器資源管理器,而只需使用web.config中的連接字符串連接到我的數據庫。我已經這樣做了,但很顯然,Visual Studio中的LINQ to SQL Designer似乎並不知道或識別我的數據庫連接,我不能只拖到設計器上來創建類。我必須手動創建這些內容還是缺少一些內容?如何在使用連接字符串時使用VS設計器創建Linq To SQL類

任何想法是appreicated。

乾杯

馬克

回答

0

我想我已經被設計者性質

1

DataContext類具有constructor,需要一個連接字符串參數中更改連接設置分類這一點。

0

您可以使用服務器資源管理器生成您的類,只需使用連接字符串中的詳細信息填充服務器,數據庫,身份驗證字段。

然後,如shadowfoxmi所述,當您實例化DataContext類時,請使用帶有連接字符串或預先設置的SqlConnection實例的構造函數。

我個人更喜歡有一個包含單個靜態方法GetDataContext()的靜態類,它返回一個DataContext實例已經設置了正確的連接字符串,超時等等。然後我確保沒有代碼手動實例化DataContext,而是所有實例都來自該靜態方法。您可以使這種方法儘可能地複雜,例如,您可能會根據部署環境(例如分段,生產,本地開發等)使代碼實例化具有不同連接字符串的DataContexts。

在部署中,根據您的需要,可能是一個好主意,以確保服務器資源管理器將放入您的app.config/web.config文件的詳細信息將被刪除。

0

我總是創造一個包裝,確實是這樣的:

public static class DBCreator 
{ 
    public static MyDataContext Create() 
    { 
     return new MyDataContext(ConfigurationManager.ConnectionStrings["ConnName"].ConnectionString); 
    } 
} 

然後用這個無處不在。您也可以添加重載以接受DataLoadOptions或其他任何您想要通過的內容。

HTH。

相關問題