.net core xunit UseInMemoryDatabase 报 The provider for the source IQueryable doesn't implement IDbAsyncQueryProvider. 错误


环境:.net core 在xunit中使用 UseInMemoryDatabase 做单元测试

现象:ef core 使用异步查询方法时报错。

解决参考

1. https://docs.microsoft.com/zh-cn/ef/ef6/fundamentals/testing/mocking?redirectedfrom=MSDN#limitations-of-ef-in-memory-test-doubles

2.其实是不支持异步方法引起的,可以改成同步查询,然后用 Task.FromResult 返回结果。

最终解决方式:

我原来异步方法是来自命名空间 System.Linq.Data,改成Microsoft.EntityFrameworkCore后解决


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM