2010-08-09 72 views
0

我有一個與數據庫「TestDB」一起工作的應用程序。在我開發應用程序的時候,我正在使用linq to sql,並通過拖放到TestDB.dbml文件來添加我的數據表,並且可能會自動將連接字符串設置爲本機上的本地sql服務器。該應用程序應該在一些基於Windows的儀器上啓動。數據庫將在這些文書中是本地的。在Visual Studio 2008中使用Linq to SQL設置dbml文件中的連接字符串

現在,我該如何更改連接字符串以確保儀器中的本地數據庫將成爲我的應用程序的目標?

此外,我添加了用戶名和密碼到我的數據庫,所以它不會是Windows身份驗證連接,我的猜測是用戶名和密碼應該是連接字符串的一部分。

回答

1

如果在連接字符串中設置Data Source = localhost,它應該始終引用本地計算機,並且不必爲運行該應用程序的每臺計算機單獨設置它。

編輯:正如僅供參考,請查看http://connectionstrings.com/,它非常方便。

2

在代碼中創建DataContext時,您將傳入ConnectionString。因此,您可以將它存儲在配置文件中,然後使用ConfigurationManager獲取ConnectionString並使用它創建DataContext,如下所示:

public class SomeService 
    { 
     private SomeDataContext _db = null; 

     public SomeService() 
     { 
      _db = new SomeDataContext(ConfigurationManager.ConnectionStrings["SomeSqlServer"].ConnectionString); 
     } 

     public SomeService(string connectionString) 
     { 
      _db = new SomeDataContext(connectionString); 
     } 

     public SomeDataContext DB 
     { 
      get 
      { 
       return _db; 
      } 
     } 

     // whatever methods you want to use that access this DataContext 
} 
+0

感謝您的回覆。我有我的連接字符串在app.config文件作爲我的本地數據庫的地址,當我的應用程序中有「TestDataContext db = new TestDataContext()」行時,我沒有傳遞連接字符串,它工作正常。現在,您能否詳細解釋配置管理器?我的猜測是,它會自動獲取獨立於設備的服務器位置。所以它在應用程序開始在不同設備上運行時動態更改,這正是我需要的。如果我錯了,請糾正我。 問候, – Hasti 2010-08-12 23:55:37

+0

另外,當我運行這段代碼時,我得到一個空引用異常。我認爲它與app.config文件有關。感謝您的幫助 – Hasti 2010-08-16 21:45:58

相關問題