You answered in your question, share, and then select the first. Technically, you translate it to linq as follows:
var sData = vehicle.GsmDeviceLogs
.Where(gs => gs.Speed > zeroSpeed && !gs.DigitalInputLevel1)
.OrderBy(gs => gs.DateTimeOfLog)
.GroupBy(gs => gs.DateTimeOfLog)
.Select(gs => gs.First())
.ToList();
source
share