我正在尝试使用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();
}
}
Run Code Online (Sandbox Code Playgroud)
Count()执行中抛出异常:
Effort.Exceptions.EffortException:尝试初始化'Table'表的内容时出现未处理的异常---> System.ArgumentException:不支持关键字:'data source'.
EffortProviderConfiguration.RegisterProvider()使用app.config设置替换时会抛出相同的异常.
当使用完全相同的连接字符串创建UsersDbContext它时,它成功并且可以访问数据.此外,使用Effort持久或临时模式创建上下文,没有连接字符串,也可以很好地工作.
如何使用真实数据库中的现有数据初始化连接?