我想获得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
而不是"喜欢条件"时,它在下面丢弃错误:
System.ServiceModel.FaultException
1 HResult=0x80131501 Message= Sql error: Generic SQL error. CRM ErrorCode: -2147204784 Sql ErrorCode: -2146232060 Sql Number: 7601 Source=mscorlib
2 动作( microsoft.xrm.client.services.organizationservice.trievemultiple(QueryBase 查询(在testproject.program.main(string [] args(中 C: users pratik.soni source repos testprojectformcrm testprojectform program.cs:line 37
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
不确定我在这里缺少什么。
我想添加为什么您看到以下错误:
System.ServiceModel.FaultException1 Hresult = 0x80131501消息=
SQL错误:通用SQL错误。CRM错误代码:-2147204784 SQL
错误代码:-2146232060 SQL编号:7601
将有用的作品是 SQL编号:7601 ,数据库引擎事件&amp;错误说Cannot use a CONTAINS or FREETEXT predicate on %S_MSG '%.*ls' because it is not full-text indexed.
请参阅我的博客有关如何破解此错误消息的博客。