EF Core: AutoMapper ProjectTo ToListAsyn c выдает «Ссылка на объект не установлена ​​для экземпляра объекта» - PullRequest
0 голосов
/ 23 апреля 2020

Я запрашиваю некоторые сущности из базового контекста ef и затем инициализирую dto:

IQueryable<EntityType> entities = _context
                        .Entities
                        .Where(q => true)
                        .GroupBy(q => q.SomeProperty)
                        .Select(g => new GroupedEntity { Key = g.Key, Entities = g });

                    var dto = new Dto(Whatever = "whatever");

Следующее работает нормально:

dto.List = entities
                 .ProjectTo<Dto>(_mapper.ConfigurationProvider)
                 .ToList();

Но если я попытаюсь сделать этот вызов asyn c, происходит сбой.

dto.List = await entities
                     .ProjectTo<Dto>(_mapper.ConfigurationProvider)
                     .ToListAsync();

Исключение:

Сообщение: ссылка на объект не установлена ​​для экземпляра объекта. Источник: трассировка стека сборки DynamicMethods, размещенная анонимно:

в Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.TaskLiftingExpressionVisitor. <_ ExecuteAsyn c> d__8 1.ExoveNext (). ExceptionDispatchInfo.Throw ()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.Next.Exe. ExceptionDispatchInfo.Throw ()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1.ConfiguredTaskAyne.t. в D: \ a \ 1 \ s \ Ix.NET \ Source \ System.Interactive.Async \ Aggregate.cs: строка 128 в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
в System.Runtime .CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в System.Runtime.CompilerServices.TaskAwaiter 1.GetResult () в Microsoft.EntityFrameworkCore.Query.ExpressionVisitors.Internal.Text> .Runtime.ExceptionServices. AsyncLinqOperatorProvider.AsyncSelectEnumerable 2.AsyncSelectEnumerator.d__3.MoveNext () в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
в System.Runtime.CompilerServices.Task. .GetResult () в Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider.ExceptionInterceptor 1.EnumeratorExceptionIntercepto r.d__5.MoveNext () в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (целевая задача) в System.Runtime.Compwa.AfigateAccessSigner. ) в System.Linq.AsyncEnumerable.d__6 3.MoveNext () в D: \ a \ 1 \ s \ Ix.NET \ Source \ System.Interactive.Async \ Aggregate.cs: строка 128 в System.Runtime.ExceptionServices.ExceptionDispatchInfo .Throw ()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в System.Runtime.CompilerServices.TaskAwaiter 1.GetResult ()

версии: 1025

целевой каркас: netcoreapp2.2 Entity Framework Core 2.2.6 AutoMapper 8.1.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...