TDD:EF Core in Memory Provider是否可以验证引用约束?

时间:2018-06-23 09:53:49

标签: c# unit-testing tdd entity-framework-core ef-core-2.0

对于单元测试的EF Core内存功能,我感到非常兴奋。仅出于使代码单元可测试的目的,这减轻了我编写专用存储库的负担。但是仅仅在集合中进行内存测试是不够的。

  

EF Core In Memory Provider是否验证引用约束?

1 个答案:

答案 0 :(得分:4)

  

EF Core In Memory Provider是否验证引用约束?

答案是:不。

InMemory 提供程序不能替代关系数据库。它是出于测试目的而创建的。

摘录自documenation

  

InMemory 被设计为用于测试的通用数据库,并且   并非旨在模仿关系数据库。   例如:

     
      
  • InMemory 将允许您保存违反引用的数据   关系数据库中的完整性约束。

  •   
  • 如果您将DefaultValueSql(string)用于模型中的属性,则此   是关系数据库API,运行时将无效   针对 InMemory

  •   

提供者未验证任何约束的第一点。