我正在使用 EF6,我现在正在为我的聚合设置一些测试。我决定使用 Effort.EF6,因为我希望无需安装整个数据库引擎即可运行这些测试。
我的 DbContext 使用迁移和插入一些数据的种子方法。Effort.EF6 可以利用它还是我应该使用 Effort 的播种数据方法?
我正在使用 EF6,我现在正在为我的聚合设置一些测试。我决定使用 Effort.EF6,因为我希望无需安装整个数据库引擎即可运行这些测试。
我的 DbContext 使用迁移和插入一些数据的种子方法。Effort.EF6 可以利用它还是我应该使用 Effort 的播种数据方法?
迁移会自动进行。当我需要填充数据时,我调用正常的上下文种子方法。请注意,根据您的上下文范围(每个测试或每个测试程序集),您可能会运行大量查询来进行播种。这既有性能影响,也有调试问题,因为任何播种错误都将开始显示为测试中的错误,并且在播种期间发生的任何日志记录都将作为每个测试的一部分记录。
var connection = Effort.DbConnectionFactory.CreateTransient();
var context = new DbContext(connection);
context.Seed();