Я реализовал 3 уровня Onion Architecture - презентация, ядро и инфраструктура.На уровне инфраструктуры я использовал платформу Entity с подходом «сначала код» для операций с БД и реализовал интерфейсы базового уровня.
public class DiaryContext : DbContext
{
public DbSet<DiaryEntry> DiaryEntries { get; set; }
public DbSet<DiaryWriter> DiaryWriters { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{ // string config = System.Configuration.ConfigurationManager.ConnectionStrings[0].ToString();
if (!optionsBuilder.IsConfigured)
{
//optionsBuilder.UseSqlServer(config);
optionsBuilder.UseSqlServer("Data Source=SQL1;Initial Catalog=MyDiary;Integrated Security=True");
}
}
, когда я пытаюсь получить строку соединения (закомментированная строка cofig имеет правильное значение) из app.config на уровне инфраструктуры, это показывает ошибку "System.ArgumentException: 'Неверное значение для ключа' attachdbfilename '.'"и прокомментированный код не работает.
Пожалуйста, помогите!
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=SQL1;Initial Catalog=MyDiary;Integrated Security=True"/>
</connectionStrings>
</configuration>