Я нахожусь на начальном уровне изучения MVC5 с использованием EF6. В основном я пытаюсь использовать строку подключения, определенную в machine.config, а не использовать web.config при создании модели данных сущности ADO.NET. Причина, по которой я использую machine.config для строки подключения: у нас есть разные серверы SQL Cluster и серверы приложений. На локальном компьютере мы используем локальный экземпляр SQL Server, но на сервере beta / Live SQL мы используем разные имена экземпляров. Учетные данные тоже разные. поэтому для каждого приложения / веб-сервера мы определили ConnectionString в machine.config для того же имени базы данных, но с разными учетными данными.
Есть ли способ использовать ConnectionString, указанный в machine.config, при использовании мастера для создания модели данных сущности ADO.Net, или я могу дать ссылку на machine.config ConnectionString моему приложению web.config, или есть какой-либо другой способ решить эту проблему проблема?
Я использую технику Database First с использованием MVC5. Я пробовал следующее после создания edmx с использованием локальной БД, а затем попытался изменить строку подключения в моем классе контекста:
public partial class MasterDataEntities : DbContext
{
public MasterDataEntities()
: base(string.Format("{0}", getConnectionString()))
{
}
public static string getConnectionString()
{
Configuration config = ConfigurationManager.OpenMachineConfiguration();
return config.ConnectionStrings.ConnectionStrings["masterdata"].ConnectionString;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
Ошибка: OnModelCreating Дополнительная информация: код, сгенерированный с использованием шаблонов T4 для разработки «Сначала база данных» и «Сначала модель», может работать некорректно при использовании в режиме «Сначала код». Чтобы продолжить использование Database First или Model First, убедитесь, что строка подключения Entity Framework указана в файле конфигурации исполняемого приложения. Чтобы использовать эти классы, которые были созданы из Database First или Model First, с Code First добавьте любую дополнительную конфигурацию с помощью атрибутов или DbModelBuilder API, а затем удалите код, который вызывает это исключение.
С уважением