Хорошо, если вы хотите использовать EntityFramework в библиотеке классов, это означает, что ваше приложение не должно знать о конфигурации БД. Это моя точка зрения. Как я решил эту проблему.
Мы удаляем все строки подключения из всех файлов App.Config.
И мы используем экземпляр нашего контекста с уже созданным соединением.
public class ExpertDataBase : DbContext
{
public DbSet<Operator> Operators { get; set; }
public ExpertDataBase()
: base(ConnectionFactory.GetCESqlConnection(),true)
{
}
}
public static class ConnectionFactory
{
public static DbConnection GetCESqlConnection()
{
DbConnection connection = new SqlCeConnection()
{
ConnectionString = @"Data Source= ",
};
return connection;
}
}
Это моя реализация, и она работает без ввода какой-либо строки подключения в любом XML. Эта connectionFactory может быть реорганизована, поэтому я могу каким-то образом внедриться и использовать UnityContainer для разрешения типа соединения.
Надеюсь, это поможет