2009-09-14 5 views
5

LINQ to SQLを使用してアプリケーションからデータベースに接続しています。プロダクションからステージングに環境を変更するときに、web.configで接続文字列を更新できます。 しかし、環境が変わったときに更新する必要があるもう一つの価値があります。これがデータベース名です。 SQLデザイナファイルにLINQでは、データベース名は、私はいくつかの設定ファイルから動的名の値を拾うことができますどのようにデータベース名をLINQからSQLに動的に設定します

[System.Data.Linq.Mapping.DatabaseAttribute(Name="somedbname")] 

like-属性として言及されていますか?

本当にありがとうございます。

+1

dbml.csファイルからデータベース属性を削除しましたが、エラーも例外もありませんでした。したがって、この属性は必須ではなく、デザイナーによってデフォルトで追加されます。 –

+0

あなたは受け入れられた答えを受け入れることができますか?これはもはや正しいことではありません。 –

答えて

0

私は(設計者がアクセスを許可していないようだのVisual Studioの外.dbmlファイルを編集することによって、この問題を修正

public DataContext Context = new DataContext(SqlConnectionString); //much simplified 
0

の線に沿ってコンテキストを提供するために、ラッパークラスを使用しましたDatabaseAttribute)と、ここでnameプロパティを取り払う:

<Database Name="BadName" Class="OutputDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007"> 

(受け入れ答えは、もはや正確でないことに注意:この属性は、私の接続文字列をオーバーライドして)

関連する問題