Это, безусловно, достижимо с помощью FetchXML. В частности, вы хотите использовать оператор like . Например, следующий запрос Fetch ищет имя контакта и адрес электронной почты для заданного значения:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="contact">
<attribute name="fullname" />
<attribute name="contactid" />
<filter type="and">
<filter type="or">
<condition attribute="fullname" operator="like" value="%[Insert Dynamic Value]%" />
<condition attribute="emailaddress1" operator="like" value="%[Insert Dynamic Value]%" />
</filter>
</filter>
</entity>
</fetch>
Напишите аналогичный запрос на выборку для каждой таблицы, которую вы хотите найти.
Можно ли объединить все сущности вместе, а не запрашивать отдельно, используя fetchXml?
Нет, по замыслу FetchXML не поддерживает запросы к нескольким несвязанным записям. Хотя вы можете выполнять запросы к связанным записям в одном выражении выборки, вы не можете применять условия ИЛИ для нескольких таблиц. Например, вы не можете написать запрос FetchXML, сопоставимый со следующим SQL:
SELECT *
FROM contact
JOIN account on contact.accountid = account.accountid
WHERE contact.fullname like '%foo%'
OR account.name like '%foo%'