我正在为测试一个框架编写单元测试用例。单元测试会向现有数据库添加和修改数据。我需要在测试完成后撤销对数据库所做的所有更改,即删除已添加的行并还原已修改的行。
我使用的是Entity Framework 6来访问数据库。底层数据库是SQL Server。EF6提供了支持以实现此目的吗?
目前,我将更改存储在列表中,并引用该列表以清理数据库。但是使用此方法会留下一些残留物。虽然我不确定原因,可能是某些竞争条件或其他原因。
寻找一些简单而有效的替代方案。先谢谢了 :)
我使用的是Entity Framework 6来访问数据库。底层数据库是SQL Server。EF6提供了支持以实现此目的吗?
目前,我将更改存储在列表中,并引用该列表以清理数据库。但是使用此方法会留下一些残留物。虽然我不确定原因,可能是某些竞争条件或其他原因。
寻找一些简单而有效的替代方案。先谢谢了 :)
TransactionScope
中依次使用多个DB Contexts,而无需在每个DB Context范围结束时编写context.saveChanges()
吗?我希望我的观点表达清楚了。 - Madhur MauryaTransactionScope
只使用一个打开的连接。 - Scott ChamberlainTransactionScope
可以同时处理多个连接,您只需要确保 "分布式事务协调器" Windows 服务正在运行,然后在using
块内使用多个连接即可。 - Scott Chamberlain