У меня есть данные в sql и datagridview в winform. datatable содержит результаты измерений из пресс-формы с MouldID. Для каждого измерения 50 строк результатов заносятся в таблицу. Для отслеживания количества измерений для той же формы, у меня также есть столбец MeasId, который увеличивается на 1 для каждого входа измерения. Пожалуйста, смотрите картинку для просмотра таблицы.
Что мне нужно сделать, получить только строки с выбранным MouldID (из выпадающего списка) с последним MeasID.
Я попробовал следующие коды, но я не мог понять, как сгруппировать эти строки с MeasId.
using (LinqDataClassesDataContext dataContext = new
LinqDataClassesDataContext())
{
// attemp 1
var query=dataContext.SupplierVals
.Where(m=>m.MouldID==comboBMouldID.SelectedValue.ToString())
.OrderByDescending(m => m.MeasId).FirstOrDefault();
// attemp 2
var query=dataContext.SupplierVals
.Where(mr=>mr.MouldID==comboBMouldID.SelectedValue.ToString())
.OrderByDescending(mr => mr.MeasId).Select();
// attemp 3
var query = (from x in dataContext.SupplierVals
where x.MouldID == comboBMouldID.SelectedValue.ToString()
select x).First();
// attemp 4
var query = from x in dataContext.SupplierVals
where x.MouldID == comboBMouldID.SelectedValue.ToString()
group x by x.MeasId into grp
select grp.OrderByDescending(x => x.MeasId).First();
daGridUnused.AutoGenerateColumns = false;
daGridUnused.Columns["unusedShowDist"].DataPropertyName = "Distnc";
daGridUnused.Columns["unusedShowAper"].DataPropertyName = "Apert";
daGridUnused.Columns["unusedShowTap"].DataPropertyName = "Taper";
daGridUnused.DataSource = query;
}
Ни один из этих запросов не возвращает то, что мне нужно из данных.
Что я делаю не так?