2017-05-31 80 views
0

我構建了一個Linq-to-SQL頁面作爲實驗。我通過Linq-to-SQL調用存儲過程。創建的designer.cs文件使用錯誤的DataSource和連接字符串。我沒有看到任何地方設置這些默認值。將LINQ中的默認數據源和連接字符串更改爲SQL

現在我正在做一些愚蠢的事情 - 我每次修改.dbml文件時都會手動更改這兩行。

我想,也許,我可以做這樣的事情:

using (TEMPDataContext dbContext = new TEMPDataContext("MyConnectionString")) 
{ 
    .... 
} 

但是,這並不工作。

而且,我想了解一下這條線從designer.cs文件:

[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="DataSource")] 

由於數據庫連接字符串中提供的,這是爲什麼需要?

回答

0

當您創建.dbml文件時,您必須輸入連接字符串信息,然後它會自動將連接字符串添加到您的Web配置中。如果以某種方式搞砸了,那就放下並重新創建.dbml文件。

如果由於某種原因您不能刪除並重新創建,然後找出它正在使用哪個連接字符串,並修改它或創建另一個連接字符串,然後執行查找並將另一個連接字符串替換爲新的連接字符串。

0

啊......我想出瞭如何以非愚蠢的方式做到這一點。有實際上是一個SO話題解釋這一點,但我看錯了:

private string connectionString = 
System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 

. 
. 
. 
using (TEMPDataContext dbContext = new TEMPDataContext(connectionString)) 
{ 
    .... 
} 

這裏有一個參考鏈接: LINQ to SQL connectionstring

他的解決方案定義中,我不喜歡在web.config鍵(變量)做。除此之外,我也在做同樣的事情。有效。