現在、アプリケーションで同じ DbContext (同じ構造の 2 つのデータベースがあります) を使用しようとしています。何が間違っているのかよくわかりませんが、これが私の現在のコードです。うまくいけば、私がやろうとしていることはかなり明白になるはずです。私はEF Database Firstを使用しています(下部のエラーは示唆していないようです)。
私のコンテキストファクトリーコード:
public class HOLContextFactory
{
public static HOLDbEntities Create()
{
return new HOLDbEntities(); // Works
}
public static HOLDbQuoteEntities CreateQuote()
{
return new HOLDbQuoteEntities(); // Gives error
}
}
public partial class HOLDbQuoteEntities : HOLDbEntities
{
public HOLDbQuoteEntities()
: base("HOLDbQuoteEntities") // This should send "HOLDbQuoteEntities" as the base connection string?!
// Also tried "name=HOLDbQuoteEntities"
{
}
}
Web.config 接続文字列:
<add name="HOLDbEntities" connectionString="metadata=res://*/HOLDbContext.csdl|res://*/HOLDbContext.ssdl|res://*/HOLDbContext.msl;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" />
<add name="HOLDbQuoteEntities" connectionString="metadata=res://*/HOLDbContext.csdl|res://*/HOLDbContext.ssdl|res://*/HOLDbContext.msl;provider=System.Data.SqlClient;provider connection string=<connstringdetails>" providerName="System.Data.EntityClient" /> // using diff database - same structure
"HOLDbQuoteEntities" の使用時に発生するエラー:
Database First および Model First 開発用の T4 テンプレートを使用して生成されたコードを Code First モードで使用すると、正しく動作しない場合があります。Database First または Model First を引き続き使用するには、実行中のアプリケーションの構成ファイルで Entity Framework 接続文字列が指定されていることを確認してください。Database First または Model First から生成されたこれらのクラスを Code First で使用するには、属性または DbModelBuilder API を使用して追加の構成を追加し、この例外をスローするコードを削除します**