Thank you for your input and I have managed to solve my issue.
As a result of this I have another issue with aggregate roots and its own repository.
I have a customer aggregate root and it has its own repository but I need to query the contact table which does not have its own repository as it is an aggregate of the customer.
My table structure is below.
Customer -----> Address -----> Contact.
Is it correct to query the customer repository with an ID and then from the service layer to use a lambda expression to query the address table and then the contact table?
My issue is I do not know the lambda expression to query the contact table because I don't know the address ID.
My latest attempt is below.
Dim cust As New Customer
cust = _customerRepository.FindBy(addRequest.ID)
cust.CustomerAddresses.Any(Function(x) x.Contacts.Where(Function(co) co.Id = 12))
The lambda expression is clearly wrong but I need to query the contact table.
Any suggestions would be great.