dynamics-crm - D365 - 获取包含“唯一名称”中特定字符串的解决方案列表
问题描述
我想获取在 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 2 action) 在 Microsoft.Xrm.Client.Services.OrganizationService.RetrieveMultiple(QueryBase 查询) 在 TestProjectForCRM.Program.Main(String[] args) 在 C:\Users\pratik.soni\source\repos\ TestProjectForCRM\TestProjectForCRM\Program.cs:第 37 行
1 HResult=0x80131501 Message= Sql error: Generic SQL error. CRM ErrorCode: -2147204784 Sql ErrorCode: -2146232060 Sql Number: 7601 Source=mscorlib
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 Number: 7601,数据库引擎事件和错误说Cannot use a CONTAINS or FREETEXT predicate on %S_MSG '%.*ls' because it is not full-text indexed.
有关如何破解此错误消息的信息,请参阅我的博客。
推荐阅读
- python-3.x - 404 使用烧瓶时未找到错误
- c++ - C++ 在 Linux 上编写 UTF-8
- google-sheets - 获取两个系列中匹配数字的计数
- php - 如何在一个操作中使 httpcache 无效?
- excel - Excel Javascript (Office.js) - LastRow/LastColumn - 更好的选择?
- swift - 如何在 Swift 中将 Firestore FieldValue 解析为日期
- windows - 如何在不调用 powershell 的情况下获取完整的操作系统信息?
- python - 窗口最大化时调整表格小部件的大小
- android - 标记中的不同颜色谷歌地图android
- c - linux下C中的文件描述符示例