さまざまな理由から、Entity Framework DB モデルの接続文字列をさまざまな .config ファイルのいずれかに保存したくありません。(新しい Entity Framework バージョン 4.1、.NET 4、および Visual Studio 2010 C# で最新かつ最高の DBContext API を使用しています。) ただし、DBContext のコード生成テンプレートは、パラメーターなしのコンストラクターを 1 つしか作成しません。(DBContext API を使用しない場合、私のエンティティ フレームワーク モデルには、必要なコンストラクターを含め、7 つの異なるコンストラクターから選択できます。)
これを行う方法を理解できる唯一の方法は、コード生成テンプレート (context.tt ファイル) を直接変更して、必要なコンストラクターを提供することでした (以下のコード例)。これは機能しますが、「難しい方法」でやっているように感じます。接続文字列を受け入れる DBContext コンストラクターを取得する正しい方法は何ですか?
public <#=Code.Escape(container)#>(string connectionString)
: base(connectionString)
{
<#
WriteLazyLoadingEnabled(container);
#>
}
それが他の誰かを助けるかもしれない場合の最後のメモ。この方法は機能しますが、「接続文字列」が厳密には DB 接続文字列ではなく、DB 接続文字列を含む特別なエンティティ フレームワーク接続文字列であることに気付くまでに少し時間がかかりました (アプリに格納されるものと同様)。 .config ファイル)。