Ну, во-первых, вам нужно сгруппировать по UserID
:
UserLogs.GroupBy(ul => ul.UserID)
Затем вы хотите получить идентификатор пользователя и количество различных ip
из этого:
UserLogs.GroupBy(ul => ul.UserID).Select(g => new {UserID = g.Key, Count = g.Select(ul => ul.ip).Distinct().Count()})