LINQ 查询 List<T> 以根据最小值获取 List<U>

LINQ query on List<T> to get List<U> based on minimum value

我有一个包含三个属性的 List<UserLoginRecord> 对象。

UserID  ID2      LoginTimeStamp
1234567 300009   04/08/2015 18:55:45
1234567 300009   04/08/2015 09:12:32
7654321 300010   14/08/2015 11:55:45
7654321 300010   20/08/2015 13:38:00

我想 运行 Linq 查询到 return 只有第一条记录的 UserID 和 UserID2 组合。即以下输出

UserID  ID2      LoginTimeStamp
1234567 300009   04/08/2015 09:12:32
7654321 300009   14/08/2015 11:55:45

我已经尝试了以下但不幸的是不起作用。有人可以帮我吗?

   var newList = o_userLoginList.GroupBy(gby => new {gby.UserID, gby.ID2})
                .Select(x => new UserLoginRecord
                {
                    UserID = x.UserID,
                    ID2 = x.ID2,
                    LoginTimeStamp = x.Min(LoginTimeStamp),
                });
var newList = o_userLoginList.GroupBy(gby => new {gby.UserID, gby.ID2})
                .Select(x => new UserLoginRecord
                {
                    UserID = x.Key.UserID,
                    ID2 = x.Key.ID2,
                    LoginTimeStamp = x.Min(y=>y.LoginTimeStamp),
                });