Как вы можете использовать lastordefault или firstordefault в этом запросе
var Grdquery = from db in db.V_Salaries.Where(i => i.InOut_Flag == 0 && i.Year == cariyil).OrderByDescending(i => i.Id) orderby db.Worker_Name, db.Year_Name select new { db.Id, db.Year, db.Worker_Code, db.Worker_Name, db.Position_Name, db.Year_Name, db.Receipt_Date, db.SgkSalary, db.SgkAgi, db.Salary, db.Overtimes_Salary, db.Food_Price, db.Road_Price, db.Currency, db.Worker_Position, }; foreach (var row in Grdquery) { DataRow r = Table.NewRow(); r["Id"] = row.Id;//0 r["Year"] = row.Year;//1 r["Worker_Code"] = row.Worker_Code;//2 r["Worker_Name"] = row.Worker_Name;//3 r["Position_Name"] = row.Position_Name;//4 r["Year_Name"] = row.Year_Name;//5 r["Receipt_Date"] = row.Receipt_Date;//6 r["SgkSalary"] = row.SgkSalary;//7 r["SgkAgi"] = row.SgkAgi;//8 r["Salary"] = row.Salary;//9 r["Overtimes_Salary"] = row.Overtimes_Salary;//10 r["Food_Price"] = row.Food_Price;//11 r["Road_Price"] = row.Road_Price;//12 r["Currency"] = row.Currency;//13 r["Worker_Position"] = row.Worker_Position;//14 Table.Rows.Add(r); }
Что я уже пробовал:
вопрос :здесь 45 сотрудников. Каждый сотрудник имеет по крайней мере одну зарплатную запись за этот год. Но 10 сотрудников имеют 2 оклада. Все записи появляются в моем запросе ниже. Никаких проблем с одиночными записями. Но мне нужна последняя запись персонала с 2 записями. Как мы можем ее решить?
Member 13768545
вопрос решен.
Список<v_salaries> Grdquery = db.V_Salaries.Где(i => i.InOut_Flag == 0 && i.Year == cariyil).OrderBy(x => x.Worker_Name).ThenBy(x => x.Year_Name)
.Метод groupBy(г =&ГТ; г. Worker_Code, (ключ,) =&ГТ; а.OrderByDescending(б => б.ИД).Метода firstordefault())
.Список();