Как я могу реализовать следующий запрос SQL как запрос linq к объектам?Как я могу реализовать следующий запрос SQL как запрос linq к объектам?
select *, MIN(QueuedDate)
from pcm_transactions
where QueuedDate IS NOT NULL And ExecutionDate IS NULL
group by SimId
Я часами размышлял и пытался использовать методы varius - надеюсь найти правильный ответ здесь.
EDIT:
Вот один из моих первых попыток:
// Get the oldest queued action
var queuedTransactions =
(from t in db.TransactionSet
where t.QueuedDate.HasValue && !t.ExecutionDate.HasValue
group t by new { t.TransactionId, t.QueuedDate } into tr
select new
{
Transaction = db.TransactionSet.First(q => q.TransactionId == tr.Key.TransactionId),
QueuedDate = tr.Min(m => m.QueuedDate)
}).ToList();
Одна проблема заключается в том, что SQL не является допустимым, чтобы начать с; Вам нужно группировать по каждому столбцу, который не является суммарным выражением (например, min/max и т. Д.), Поэтому «select *» просто не имеет смысла. У вас есть образцы данных и требуемые результаты, чтобы помочь нам переписать это в Linq? – Will
ОК, но мне нужна вся строка - не только минимальная QueuedDate - как я могу это достичь? –