Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CRM 2011 LINQ:无效的“where”条件。实体成员正在调用无效的属性或方法_C#_Linq_C# 4.0_Dynamics Crm 2011_Dynamics Crm - Fatal编程技术网

C# CRM 2011 LINQ:无效的“where”条件。实体成员正在调用无效的属性或方法

C# CRM 2011 LINQ:无效的“where”条件。实体成员正在调用无效的属性或方法,c#,linq,c#-4.0,dynamics-crm-2011,dynamics-crm,C#,Linq,C# 4.0,Dynamics Crm 2011,Dynamics Crm,我正在运行以下LINQ查询,但它抛出一个错误,表示“where”条件无效。实体成员正在调用无效的属性或方法 有人能告诉我为什么会这样吗。如果我删除conn.Record2Id.LogicalName.Equalsaccount,它将从中返回结果,但我可以在快速查看中看到LogicalName=account 提前感谢CRM的LINQ转换器无法处理.Equals方法 将其更改为conn.Record2Id.LogicalName==account尝试以下操作: var connections =

我正在运行以下LINQ查询,但它抛出一个错误,表示“where”条件无效。实体成员正在调用无效的属性或方法

有人能告诉我为什么会这样吗。如果我删除conn.Record2Id.LogicalName.Equalsaccount,它将从中返回结果,但我可以在快速查看中看到LogicalName=account


提前感谢

CRM的LINQ转换器无法处理.Equals方法

将其更改为conn.Record2Id.LogicalName==account

尝试以下操作:

var connections = (from conn in context.CreateQuery<Connection>()                              
              where conn.Record1Id != null 
              && conn.Record1Id.Id == incidentId 
              && conn.Record2Id != null 
              && conn.Record2Id.LogicalName == "account" 
              && conn.StateCode.Value == 0
              select conn).FirstOrDefault();    

很有趣,但试试这个:

var connections = (from conn in context.CreateQuery<Connection>()                              
                  where (conn.Record1Id == new EntityReference("account",incidentId) 
                  && conn.StateCode == 0)
                  select conn).FirstOrDefault();

谢谢,我试过了,但是抛出了同样的错误无效的“where”条件。实体成员正在调用无效的属性或方法。@Scorpion:对Id.Equals执行同样的操作。我已经尝试过了。即使删除conn.Record2Id.LogicalName.equalAccount查询,也会返回结果。所以我认为conn.Record1Id.Id.equalsincidentiald没有任何问题,因为我们为什么要在查询中使用“Equals”?漂亮的工作@Ryan:只需使用更自然的==运算符。您确定conn具有属性Record2Id并且具有LogicalName吗?我刚刚编辑了它。StateCode是一个OptionSetValue,因此需要将其与StateCode进行比较。值==0
var connections = (from conn in context.CreateQuery<Connection>()                              
                  where (conn.Record1Id == new EntityReference("account",incidentId) 
                  && conn.StateCode == 0)
                  select conn).FirstOrDefault();