How can I filter the Parent object collection based on the child objects filter applied ?

Below is the Scenario where I am searching for Users that have all client Id values mentioned in `searchClientsList` to match in the child objects ie the UserClients list.

I wish to get the exact Linq query to get the expected result with just one User(User 1001) matching the required criteria.
Below is the sample code snippet that can be used for reference.

```
using System;
using System.Linq;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class User
    {
        public int UserID { get; set; }
        public List<UserClient> UserClients { get; set; }
    }

    class Client
    {
        public int ClientID { get; set; }
        public int UserID { get; set; }
    }

    class UserClient
    {
        public int ClientID { get; set; }
        public int UserID { get; set; }
        public DateTime StartDate { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {            
            List<int> searchClientsList = new List<int> { 1, 2};
            List<User> users = GetTestData();
            var result = users.Where(x => x.UserClients.Any(y => searchClientsList.Contains(y.ClientID) && y.UserID== x.UserID)).ToList(); //To work on Query.
            Console.WriteLine("The above result should return list of users with userclients having all the clientIds mentioned in searchClientsList.");
            Console.WriteLine("In this case, it should return only User1 when searchClientsList is [1,2].");
        }

        private static List<User> GetTestData() {

            User user1 = new User()
            {
                UserID = 1001,
                UserClients = new List<UserClient>() { new UserClient { UserID = 1001, ClientID = 1 }, new UserClient { UserID = 1001, ClientID = 2 } , new UserClient { UserID = 1001, ClientID = 3 } }
            };

            User user2 = new User()
            {
                UserID = 1002,
                UserClients = new List<UserClient>() { new UserClient { UserID = 1002, ClientID = 2 }, new UserClient { UserID = 1002, ClientID = 3 } }
            };
            List <User> users = new List<User>();
            users.Add(user1);
            users.Add(user2);
            return users;

        }
    }
}

```