Из того, что вы описываете, что-то подобное должно делать то, что вы хотите.
var marketsWithEventsForUser = markets
.Where(market => market.UserIntervalAlerts
.Any(alert => alert.User == GetCurrentUser());
if (marketsWithEventsForUser.Any())
{
//iterate over list and do whatever...
}
Я предполагаю, что равенство будет работать так, как вы ожидаете, для User
и любой тип, возвращаемый GetCurrentUser()
.