我目前正在嘗試在我的應用程序中使用相同的DbContext(我有兩個數據庫,具有相同的結構)。我不太確定我做錯了什麼,但是這裏是我目前的代碼 - 希望這應該是非常明顯的我想要做的。我使用EF數據庫優先(這在底部的錯誤似乎不建議)。實體框架 - 使用相同的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文件的連接字符串:
<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的T4模板 如果在Code First m中使用,則第一次開發可能無法正確工作頌。 要繼續使用Database First或Model First,請確保在執行應用程序的配置文件 中指定了實體 框架連接字符串。使用這些類,從 數據庫優先或模型首先生成的,具有代碼優先使用屬性或DbModelBuilder API添加任何附加 配置,然後 移除引發此異常**
這其實是我到底是怎麼做的。 – 2013-04-02 10:56:25