对于单元测试的EF Core内存功能,我感到非常兴奋。仅出于使代码单元可测试的目的,这减轻了我编写专用存储库的负担。但是仅仅在集合中进行内存测试是不够的。
EF Core In Memory Provider是否验证引用约束?
答案 0 :(得分:4)
EF Core In Memory Provider是否验证引用约束?
答案是:不。
InMemory 提供程序不能替代关系数据库。它是出于测试目的而创建的。
摘录自documenation:
InMemory 被设计为用于测试的通用数据库,并且 并非旨在模仿关系数据库。 例如:
InMemory 将允许您保存违反引用的数据 关系数据库中的完整性约束。
如果您将
DefaultValueSql(string)
用于模型中的属性,则此 是关系数据库API,运行时将无效 针对 InMemory 。
提供者未验证任何约束的第一点。