С учетом вашего замечания: но я получаю ошибку "LINQ to Entities не распознает метод" System.String [] ToArray ..
Я бы предложил удалить .ToArray () из
WebSites=p.WebSites.Select(q=>q.Caption).ToArray(),
Так как видимо результат для
p.WebSites.Select(q=>q.Caption) is a System.String[]
Это только означает, что вы будете выполнять явное приведение из System.String [] к строке [], что должно быть хорошо.