Присоединяйтесь к 2 iquaryable ef core, у которых есть группа, не переведенная в sql - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу объединить две таблицы с ядром ef с кодом ниже

var fromDate = model.FromDate;
var toDate = model.ToDate;
var tourDate = _eContext.TourDates.OrderBy(x => x.Date).Where(x =>
(fromDate == null || x.Date >= fromDate) && (toDate == null || x.Date <= toDate))
    .GroupBy(x => x.TourId).Select(g => new { TourId = g.Key, TourDateID = g.Min(y => y.TourDateId) });


var tours1 = _eContext.TourDetails;

var joinres = tours1.Join(tourDate
    , tu => tu.TourDateId, td => td.TourDateId, (tu, td) => new { TourId = tu.TourId, TourDetailId = tu.Id, TourDateId = td.TourDateID });

var TourList = joinres.ToList();

Когда выполняется метод ToList() Мы получаем следующее предупреждение:

Выражение LINQ ' присоединить TourDate к значению td (Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1 [ModelLayer.EuropaMundo.TourDate]) для [td] .TourDateID равно [td] .TourDateId 'не может быть переведено и будет оценено локально.

Есть ли способ перевести LINQ в sql?

...