私は現在、同じDbContext(同じ構造の2つのデータベースがあります)をアプリケーションで使用しようとしています。私が間違っていることはよく分かりませんが、現在のコードはここにあります。うまくいけば、私がやろうとしていることがはっきりしているはずです。私はEF Database Firstを使用しています(下部のエラーが示唆していないようです)。Entity Framework - 異なる接続文字列を持つ同じDbContextを使用する
マイコンテキストファクトリコード:
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接続文字列: "HOLDbQuoteEntities" を使用しているとき、私は取得しています
<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
エラー:
コードを使用して生成データベースファーストとモデルのT4テンプレート コードファーストで使用すると、最初の開発が正しく機能しない場合があります。mオード。 データベースファーストまたはモデルを引き続き使用するには フレームワーク接続文字列が、アプリケーションを実行する の設定ファイルで指定されていることを確認します。コードファーストは、属性やDbModelBuilderのAPIを使用して、任意の追加の 設定を追加してから この例外をスローするコードを削除して、 データベースファーストまたはモデルファーストから生成されたこれらのクラスを使用するには**
これは私が最終的にそれをやったか、実際に私はこれを試してみてください
metadata=res://*/
を使用して、私のエンティティのコンテキストを作成しています。 –