QueryExpression без учета регистра

Можно ли построить запрос с условным выражением, которое не чувствительно к регистру?

ConditionExpression condition = new ConditionExpression() 
{ 
  AttributeName = "lastname", 
  Operator = ConditionOperator.BeginsWith, 
  Values = new ObservableCollection<object>() { searchName } 
};

В этом примере я хотел бы, чтобы поиск с searchName был без учета регистра.

2 ответа

Решение

Я считаю, что это фактор сортировки базы данных, который был выбран при установке CRM, а не функция QueryExpression.

По умолчанию во время чистой установки Latin1_General_CI_AS, Вы можете проверить свои, выполнив следующую инструкцию sql:

SELECT DATABASEPROPERTYEX('OrganisationName_MSCRM', 'Collation')

Правильный ответ вы можете найти на http://crmonaroll.blogspot.in/2013/06/case-in-sensitive-search-in-mscrm-2011.html

Чтобы выполнить поиск без учета регистра в MSCRM 2011, нам нужно немного настроить запрос, например,

 if (!String.IsNullOrEmpty(fieldname)) 
     query.Criteria.AddCondition("fieldname".ToLower(), ConditionOperator.Equal, fieldname.ToLower()); 
 EntityCollection col = service.RetrieveMultiple(query);

Здесь я устанавливаю имя схемы в ToLower() который на самом деле делает свое дело, надеюсь, это поможет. Оставьте свои комментарии.

Другие вопросы по тегам