2016-04-25 17 views
2

Entity Frameworkを使用すると、プロバイダSystem.Data.EntityClientの接続文字列が自動的に作成されるようです。EntityFrameworkはプロバイダSystem.Data.SqlClientの標準接続文字列を使用できますか?

だから私は私の設定で同じデータベースに接続する2つの接続文字列で終わる:

<add connectionString="Server=S;Database=D;User ID=U;Password=P" name="DBConn" providerName="System.Data.SqlClient" /> 
<add connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=S;initial catalog=D;user id=U;password=P;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" name="MyEntities" /> 

私の実体は最初、標準の接続文字列に接続する代わりに持つことにより、これらを統合する方法はありますSystem.Data.EntityClient接続?

答えて

2

コードファーストまたはデータベースファーストを使用している場合は述べていませんが、標準接続文字列をDbContextクラスコンストラクタに渡すことはできます。

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base("My Connection String") 
    { 

私はハードコードの接続文字列のファンではないので、私は、一般的に私の接続文字列を取得し、どのようなロジック使用して初期化される静的フィールドを持つ静的クラスを作成します。その場合、DbContextクラスは次のようになります。

public class MyDbContext : DbContext 
{ 
    public MyDbContext() : base(SomeStaticClass.MyConnectionString) 
    { 
関連する問題