unit-testing - Hot to Mock 连接中使用的 DbQuery
问题描述
我正在通过类似的方式在 EntityFramework Core 中使用视图
modelBuilder.Query<DeviceHierarchy>().ToView("DeviceHierarchy");
我试图使用这个问题的解决方案来模拟视图。
该视图用于这样的连接
Context.Devices.Where(...).Join(Context.DeviceHierarchy, ...)
但我有一个例外,无法弄清楚问题出在哪里
at System.Linq.Lookup`2.CreateForJoin(IEnumerable`1 source, Func`2 keySelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.JoinIterator[TOuter,TInner,TKey,TResult](IEnumerable`1 outer, IEnumerable`1 inner, Func`2 outerKeySelector, Func`2 innerKeySelector, Func`3 resultSelector, IEqualityComparer`1 comparer)+MoveNext()
at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Max(IEnumerable`1 source)
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ResultEnumerable`1.GetEnumerator()
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
at System.Linq.AsyncEnumerable.AsyncEnumerableAdapter`1.MoveNextCore(CancellationToken cancellationToken)
at System.Linq.AsyncEnumerable.AsyncIterator`1.MoveNext(CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteSingletonAsyncQuery[TResult](QueryContext queryContext, Func`2 compiledQuery, IDiagnosticsLogger`1 logger, Type contextType)
可以使用 Microsoft.EntityFrameworkCore.InMemory 包模拟视图吗?
解决方案
推荐阅读
- javascript - Javascript querySelector“onclick”不会在模板文字函数内触发
- django - 您正在尝试在没有默认值的情况下向用户添加不可为空的字段“密码”
- node.js - 如果使用备用域名和 HTTPS,AWS CloudFront 签名 URL 会导致访问被拒绝
- javascript - 反应本机 msal 尝试调用接口方法 ReadableMap.getArray(java.lang.String)
- python - 如何在已经服务于 PHP 网站的 Ubuntu 服务器上运行基于 Flask 的网页
- javascript - JavaScript如何解析node.js中的查询
- java - 带有对话框的谷歌地图标记过滤器
- java - FileReader 找不到文件
- postgresql - Aurora 如何分发 Postgres 函数来读写副本?
- azure-ad-b2c - 如何通过 Microsoft Authenticator App 添加 MFA 作为电子邮件后的第二个因素,登录流程中的密码身份验证