Я хотел спросить, есть ли лучший способ достичь того, что я пытаюсь сделать.Entity Framework IQueryable, с 2 запросами
Мне нужно получить все записи дочернего графа, которые имеют дату, большую или равную данной дате, и первую запись с датой с малой до указанной даты.
Я нашел это решение, которое работает, но я не уверен, что это будет лучший способ.
var q = context.Istc0.Include("Interests").Where(a => a.IIsin == listKey).Select(a => new
{
Istc0 = a,
Interests = a.Interests.Where(d => d.InDat >= date)
});
var qq = context.Istc0.Include("Interests").Where(a => a.IIsin == listKey).Select(a => new
{
Istc0 = a,
Interests = a.Interests.Where(d => d.InDat < date).OrderByDescending(d => d.InDat).Take(1)
});
var xxx = q.ToList()[0].Istc0;
xxx = qq.ToList()[0].Istc0;
return xxx;
Похоже, что вы выполняете запрос 'q', а затем отбрасываете результаты. – SWeko
Немного непонятно, что вы пытаетесь сделать здесь. Глядя на ваш код, вы просто получаете свойство «Istc0» первого результата q, а затем перезаписываете его с помощью свойства «Istc0» первого результата qq. Есть ли что-то еще, что вы хотите сделать? Свойства 'интересы' обоих запросов не используются. –
Хорошо, я пытаюсь объяснить это лучше, мне нужно получить все записи в моей таблице интересов с даты в прошлом до сегодняшнего дня, но мне также нужна первая запись до этого дня. Я так делаю, и я получаю все необходимые данные, но это не кажется очень чистым способом для выполнения задания. – Raphael