Ник объяснил это отношением «многие ко многим», поэтому изменил ответ, исходя из того, что предполагается, что он разработан правильно.
Для правильного управления вам понадобится промежуточная таблица. Я составлю таблицу, которой нет в списке, поскольку она должна содержать эту таблицу, чтобы этот дизайн имел смысл.
Допустим, есть таблица:
table CitiesAndUsers
column cityId int
column userId int
при условии, что cityID и userID являются составными ключами и внешними ключами для соответствующих таблиц
Теперь за лямду
var subscriptions = Db.CitiesAndUsers.Where(cu => cu.User.Id == User.Id).Select(cu => cu.City.id);
Имеет смысл?