В настоящее время я пытаюсь использовать тот же DbContext (у меня есть две базы данных одинаковой структуры) в моем приложении. Я не совсем уверен, что я делаю неправильно, но вот мой текущий код - надеюсь, должно быть довольно очевидно, что я пытаюсь сделать. Сначала я использую базу данных EF (которая, по-видимому, не указывает на ошибку внизу).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 соединения строк:
<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":
Код генерируется с помощью Шаблоны T4 для базы данных First и Model Первая разработка может работать неправильно, если используется в Code First m ода. Чтобы продолжить использование базы данных сначала или модели Сначала убедитесь, что строка подключения Entity Framework указана в файле конфигурации исполняющего приложения. Для того, чтобы использовать эти классы, которые были созданы из Database First или Model First, с Code First добавить любую дополнительную конфигурации с использованием атрибутов или DbModelBuilder API, а затем удалить код, генерирующий этого исключение **
Это на самом деле, как я сделал это в конце концов. –