2011-08-10 34 views
15

コードの最初のエンティティフレームワーク/ MVCアプリケーションで接続文字列を変更するにはどうすればよいですか?私はそれをライブサイトに転送しようとしていますが、Web設定値を見落としていて、ローカルバージョンのデータベースを参照しています。ここでコードFirst Entity Framework - 接続文字列を変更する

は私のweb.configファイルの接続文字列の部分です:

<add name="MembershipConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" /> 
<add name="WebsiteConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" /> 
<add name="Entities" connectionString="metadata=res://*/Models.IntranetModel.csdl|res://*/Models.IntranetModel.ssdl|res://*/Models.IntranetModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

私は、コードファーストエンティティフレームワークを使用するように私は、エンティティ文字列は任意の関連性を持っているかどうかわからないんだけど、私は唯一の登場だと思います私はedmxファイルを作成しようとしましたが(私はそれを削除するだけでした)。エンティティの接続文字列はコメントアウトされているので、私はそれが使用されているとは思わない。

"WebsiteConnectionString"を読み込むエンティティフレームワークが必要ですが、ローカル接続文字列を使用すると思われますが、設定されている場所がわかりません。どうすれば変更できますか?

答えて

31

接続文字列またはその名前は、コンストラクタDbContextに渡すことができます。あなたはデフォルトのコンストラクタを使用している場合、それはあなたの派生コンテキストクラスの名前と同じ名前の接続文字列を検索し、それが見つからない場合は、このいずれかを使用します。

Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True 

データベース名と同じようにしてコンテキストクラス。

+0

ありがとうございますLadislav - これは完全に機能しました。 –

+1

@ ladislav-mrnka私はEFの問題について多くのあなたの答えを見てきました。ありがとう! – edsobo

関連する問題