Я хочу получить список решений, отображаемых в DropDown в приложении Windows.
Итак, чтобы получить список решений, я написал ниже QueryExpression
и добавил фильтр для того же:
public EntityCollection GetSolutions(IOrganizationService service, string solutionUniqueNameLike)
{
QueryExpression querySampleSolution = new QueryExpression
{
EntityName = "solution",
ColumnSet = new ColumnSet(new string[] { "publisherid", "installedon", "version", "versionnumber", "friendlyname", "ismanaged", "uniquename" }),
Criteria = new FilterExpression()
};
querySampleSolution.Criteria.AddCondition("uniquename".ToLower(), ConditionOperator.Like, "*" + solutionUniqueNameLike.ToLower() + "*");
var solutions = service.RetrieveMultiple(querySampleSolution);
//var filteredSolutions = solutions.Entities.Where(e => (e.Attributes.Contains("uniquename")) && (e.Attributes["uniquename"].ToString().ToLower() == "*" + solutionUniqueNameLike + "*"));
if (solutions?.Entities?.Count > 0)
{
return solutions;
}
return null;
}
Но он возвращает 0 сущностей в результате.
Я также попытался выполнить поиск во всех решениях, используя LINQ , как добавлено в приведенной выше строке кода. Но получая NULL
там.
РЕДАКТИРОВАТЬ 1: Когда я пытался использовать Contains
вместо `Like условия, он выдает ошибку, как показано ниже:
System.ServiceModel.FaultException 1 HResult=0x80131501 Message=
Sql error: Generic SQL error. CRM ErrorCode: -2147204784 Sql
ErrorCode: -2146232060 Sql Number: 7601 Source=mscorlib<br>
StackTrace: at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type) at
Microsoft.Xrm.Sdk.IOrganizationService.RetrieveMultiple(QueryBase
query) at
Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultipleCore(QueryBase
query) at
Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultiple(QueryBase
query) at
Microsoft.Xrm.Client.Services.OrganizationService.<>c__DisplayClass22.<RetrieveMultiple>b__21(IOrganizationService
s) at
Microsoft.Xrm.Client.Services.OrganizationService.InnerOrganizationService.UsingService[TResult](Func
2
действие) в
Microsoft.Xrm.Client.Services.OrganizationService.RetrieveMultiple (QueryBase
запрос) в TestProjectForCRM.Program.Main (String [] args) в
C: \ Users \ pratik.soni \ источник \ Repos \ TestProjectForCRM \ TestProjectForCRM \ Program.cs: линия
37
Не уверен, что мне здесь не хватает.