gpt4 book ai didi

LINQ 选择 FirstName.length < 6 的 Leads

转载 作者:行者123 更新时间:2023-12-02 22:11:30 25 4
gpt4 key购买 nike

哪个 LINQ 会选择 FirstName.length < 6 的 Leads?

此查询抛出“无效的‘where’条件。实体成员正在调用无效的属性或方法”

var q = from a in serviceC.LeadSet where a.FirstName.Length < 6 select a;

最佳答案

这不起作用的原因是所有 Linq to CRM 语句都转换为查询表达式,而查询表达式不支持长度运算符。这给您留下了几个选择。

  1. 使用直接的 SQL 查询获取您需要的数据。在大多数情况下,这是不太理想的,因为您在 SDK 之外操作,如果您使用 CRM Online,则不可能

  2. 使用 Grant 的答案来实际查看长度,不幸的是,它确实提取了所有记录...

  3. 试试这个我刚刚想出的完全未经测试的想法:查询表达式确实有一个 GreaterEqual 条件,所以您应该能够将它与 6 个单引号的字符串进行比较(因为单引号是排序时的第一个字符默认值。所以理论上,这应该有效:

var q = from a in serviceC.LeadSet where a.FirstName <= "''''''" select a;

编辑

执行测试后,我意识到 Linq 不会接受该表达式,尽管 SQL 会。所以答案是创建实际的查询表达式:

QueryExpression qe = new QueryExpression("lead");
qe.Criteria.AddCondition("firstname", ConditionOperator.LessEqual, "''''''");

var entities = service.RetrieveMultiple(qe);

关于LINQ 选择 FirstName.length < 6 的 Leads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15227642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com