首页 > 解决方案 > 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 包模拟视图吗?

标签: unit-testingentity-framework-core

解决方案


推荐阅读