2017-05-31 11 views
0

私は実験としてLinq-to-SQLページを構築しています。 Linq-to-SQLを使ってストアドプロシージャを呼び出しています。作成されるファイルdesigner.csは、DataSourceと接続文字列が間違っています。これらのデフォルト値を設定する場所はありません。LINQからSQLへの既定のDataSourceとConnectionStringの変更

今私は何か愚かなことをしています - .dbmlファイルを変更するたびに、これらの2行を手動で変更します。

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

しかし、それは動作しません:

は、私は多分、私がこのような何かを行うことができ、と思いました。

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

データベースが接続文字列に供給されるので、なぜこれが必要とされている:

また、私はdesigner.csファイルからこの行について思ったんだけど?

答えて

0

.dbmlファイルを作成するときに、接続文字列情報を入力する必要があります。次に、自動的に接続文字列がWeb設定に追加されます。何とかこれがうんざりになったら、.dbmlファイルを削除して再作成してください。

何らかの理由で削除して再作成できない場合は、使用している接続文字列を見つけて変更したり、別の接続文字列を作成してから、新しい接続文字列。

0

ああ...私は愚かではない方法でこれを行う方法を見つけます。そこ実際にこの説明SO話題でしたが、私はそれを読み違え: LINQ to SQL connectionstring

は彼の解決策は、私がいないことを好むweb.configファイル内のキー(変数)を定義しています。ここ

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

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

は、参照リンクです行う。それ以外は、私は同じことをやっている。出来た。

関連する問題