MS CRM QueryExpression ConditionExpression w/ тип CRMBolean

Използвам CRM софтуера на Microsoft (4.0) и се опитвам да изградя израз на заявка. Работи добре със заявки само за стойности на низ, но сега трябва да включа поле, което е от тип CRMBoolean. Трябва също да спомена, че правя запитвания към потребителски обекти.

Така че преди това в моята заявка търсех само по няколко полета, но всички те бяха от тип String. Сега трябва да добавя друг ConditionExpression за CRMBoolean. Типът персонализиран обект, който търся, има поле, наречено „Условие“ - което ще има стойност „true“ или „false“. В CRM атрибутът е дефиниран като малко, но не мислех, че това ще има значение.

Ето моя код, който се опитвам да използвам, за да намеря записи, които имат условие "вярно":

oCondition = New ConditionExpression()
oCondition.AttributeName = "myEntity_condition"
oCondition.Operator = ConditionOperator.Like

Dim bool As New CrmBoolean
bool.Value = True
oCondition.Values = New Object() {bool}

listConditions.Add(oCondition)

Не получавам грешка, но наистина нищо не се случва. Броят на върнатите записи никога не се променя по един или друг начин. Някой правил ли е това преди?

Благодаря предварително!


person lhan    schedule 02.05.2011    source източник


Отговори (2)


Вместо да поставяте CrmBoolean обект в масива oCondition.Values, просто поставете обикновен true/false boolean. Също така бих се съгласил с benjynito за промяната му на ConditionOperator.Equals вместо на Like.

person Matt    schedule 02.05.2011
comment
Уау, дори проверих това, за да се уверя, че не използва CrmBoolean... понеделник. Сигурно току-що видя bool и отиде на следващия ред. - person John Hoven; 02.05.2011

Не знам как се предполага, че операторът like трябва да се държи при булева стойност. Чудя се дали не се игнорира. Опитайте ConditionOperator.Equal.

person John Hoven    schedule 02.05.2011
comment
да, трябваше да е Equal вместо like - не съм сигурен защо имах това там на първо място... добре. Благодаря за помощта!! - person lhan; 02.05.2011