我正在尝试使用托管在 Azure SQL 中的数据库以及Entity Framework 6 上的Effort框架编写测试。
执行以下代码时,会抛出异常:
[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 持久或瞬态模式创建上下文,无需连接字符串,也可以很好地工作。
应该做些什么来初始化与真实数据库中现有数据的连接?