我会尝试使用Effort框架在Entity Framework 6上,使用托管在Azure SQL中的数据库编写测试。
执行以下代码时,会抛出异常:
执行以下代码时,会抛出异常:
[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: 尝试初始化'Table'表内容时发生未处理的异常 ---> System.ArgumentException: 关键字不受支持:'data source'。
使用app.config设置替换EffortProviderConfiguration.RegisterProvider()
时,也会抛出相同的异常。
当使用完全相同的连接字符串创建UsersDbContext
时,它可以成功并且数据是可访问的。此外,使用Effort持久或瞬态模式创建上下文,而无需连接字符串,也能正常工作。
应该如何初始化与现有数据源的连接?