急于模拟联接中使用的DbQuery

时间:2018-11-01 09:57:32

标签: unit-testing entity-framework-core

我正在通过

之类的方法在EntityFramework Core中使用视图
modelBuilder.Query<DeviceHierarchy>().ToView("DeviceHierarchy");

我尝试使用question中的解决方案来模拟视图。

视图在这样的联接中使用

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包模拟视图吗?

0 个答案:

没有答案