我正在使用Effort(https://effort.codeplex.com/),这是一个“ADO.NET提供程序,它与Nmemory一起在轻量级进程内主数据库而不是传统外部数据库上执行所有数据操作。” / p>
不幸的是,如果我努力执行单元测试,我的模型的所有虚拟集合属性都是count = 0。
让我举一个调试器的例子:
这是我的模型对象在单元测试中加载Effort后的样子: 这就是在没有Effort的情况下它在真实应用程序之外的样子:
这是我在单元测试中使用Effort初始化我的“数据库连接”的方法:
DbConnection connection = Effort.DbConnectionFactory.CreateTransient();
unitOfWork = new SqlUnitOfWork(connection);
我在上面的代码中调用的SqlUnitOfWork构造函数:
public SqlUnitOfWork(DbConnection connection)
{
this.SetConnectionString();
this.Context = new SqlContext(connection);
}
我的SqlContext构造函数在上面的代码中调用:
public SqlContext(DbConnection connection) : base(connection, true)
{
this.Configuration.LazyLoadingEnabled = true;
}
这是测试运行时我的DbContextConfiguration的样子:
启用了延迟加载。但是工作不正常。