Я хочу получать контакты на основе номера телефона, но в Ms Dynamics номера телефонов хранятся во всех видах форматов, таких как 123 45 678, 12 34 56 78, 0112345678, 01 12345678 и так далее.
Так что мне нужно удалить пробелы в них, прежде чем я сделаю сравнение, я попытался использовать метод Replace для строки, но это дало мне ошибку Illegal method во время выполнения.
Действительно ли мне нужно извлечь все контакты и сделать еще один цикл для сравнения, или есть ли способ "очистить" строку в запросе?
string phone = "12345678";
var contacts = from c in orgContext.CreateQuery<Contact>()
join a in orgContext.CreateQuery<Account>() on c.AccountId.Id equals a.AccountId
where (c.Telephone1.Replace(" ", "").Contains(phone) || c.MobilePhone.Replace(" ","").Contains(phone))
select new DynamicContact
{
ContactId = c.ContactId,
FirstName = c.FirstName,
LastName = c.LastName,
....and more...
};
Edit:
Это сообщение об исключении:
Неверное условие "где". Член сущности вызывает недопустимое свойство или метод.