Следующий запрос дает мне штрих-код, номер версии этого штрих-кода и код приложения.Мне нужен запрос, чтобы отфильтровать дубликаты штрих-кодов и сохранить только самый высокий номер версии этого штрих-кода.
Я думал о том, как объединить поле штрих-кода и поле версии и сохранить только самое высокое, но это кажется грязным.Есть ли более чистое решение?
select Barcode, MAX(versionNo) vn, Appcode from Mailsort
where Created between '01/26/2011' and '01/27/2011'
group by Barcode, AppCode;
Причиной этого запроса является получение оператора LINQ. Это подсчитывается для каждого кода приложения независимо от штрих-кодов или версии на данный момент.
var results = from p in dataContext.GetTable<mailsortEntity>()
where p.Created > datetime && p.Created < datetime.AddDays(1)
group p by new { p.AppCode } into g
select new AppCodeCountEntity
{
AppCode = g.Key.AppCode,
Count = g.Count()
};
Есть ли лучшее решение, чем приведенный выше код LINQ?