Я создал базу данных приложений с помощью MSDN Tutorial, но теперь я пытаюсь создать две отдельные базы данных, одну для тех, когда я отлаживаю, а другой для релизов, потому что он не добавляет строку app.config для строки подключения ...Использование разных баз данных для Debug и Release на Entity Framework Code First (DbContext)
Когда я открываю свойства базы данных в проводнике сервера, я вижу, что фактическая строка подключения Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=MediaManager.Model.Context;Integrated Security=True
, но я могу 't различать его, когда в режиме отладки или выпуска ...
Как я могу это сделать?
App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MediaManager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MediaManager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<userSettings>
<MediaManager.Properties.Settings>
...
</MediaManager.Properties.Settings>
</userSettings>
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
<applicationSettings>
<MediaManager.Properties.Settings>
...
</MediaManager.Properties.Settings>
</applicationSettings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
Context.cs
using System.Data.Entity;
namespace MediaManager.Model
{
public class Context : DbContext, IContext
{
public virtual DbSet<Episodio> Episodio { get; set; }
public virtual DbSet<Serie> Serie { get; set; }
public virtual DbSet<SerieAlias> SerieAlias { get; set; }
public virtual DbSet<Feed> Feed { get; set; }
}
}
Не можете ли вы иметь только две разные строки в файле app.config и использовать #if DEBUG для установки строк подключения? – wentimo
Среды должны устанавливаться путем разработки, постановки и производства. Не знаете, какую версию MVC вы используете, но это возможно в соответствии с этой ссылкой [http://docs.asp.net/en/latest/fundamentals/environments.html] – anoop