Я пытаюсь написать тест с использованием базы данных, размещенной в Azure SQL, с Effort framework на Entity Framework 6.
При выполнении следующего кода генерируется исключение:
[ClassInitialize]
public static void ClassInitialize(TestContext context)
{
EffortProviderConfiguration.RegisterProvider();
}
[TestMethod]
public void TestMethod1()
{
const string connectionString = "Data Source=***;Initial Catalog=my_catalog;User ID=user;Password=password;provider=System.Data.SqlClient";
IDataLoader loader = new EntityDataLoader(connectionString);
using (var ctx = new UsersDbContext(Effort.DbConnectionFactory.CreatePersistent("cool", loader)))
{
var usersCount = ctx.Users.Count();
}
}
Исключение, вызванное Count()
выполнением:
Effort.Exceptions.EffortException: необработанное исключение при попытке инициализировать содержимое таблицы "Таблица" --- > System.ArgumentException: ключевое слово не поддерживается: "источник данных".
Такое же исключение возникает при замене EffortProviderConfiguration.RegisterProvider()
на параметры app.config.
При использовании точно такой же строки соединения для создания UsersDbContext
она преуспевает, и данные доступны. Кроме того, создание контекста с постоянным или временным режимом Effort, без строки подключения, тоже хорошо работает.
Что нужно сделать, чтобы инициализировать соединение с существующими данными из реальной БД?