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# 我如何使用;在;在Microsoft CRM中检索记录/实体时,LINQ中的where子句?_C#_Linq_Dynamics Crm 2011_Microsoft Dynamics - Fatal编程技术网

C# 我如何使用;在;在Microsoft CRM中检索记录/实体时,LINQ中的where子句?

C# 我如何使用;在;在Microsoft CRM中检索记录/实体时,LINQ中的where子句?,c#,linq,dynamics-crm-2011,microsoft-dynamics,C#,Linq,Dynamics Crm 2011,Microsoft Dynamics,只是LINQ和Microsoft CRM有一些问题,希望您能提供帮助 用SQL术语来说,我的思路是: select * from table where id in ("1", "2", "3") 我有这段代码,它在从SQL Server检索记录时工作正常 var _records = from _adUserDatas in _adUserDataDBDataContex.ADUserDatas where _list.Contains(_adUserData

只是LINQ和Microsoft CRM有一些问题,希望您能提供帮助

用SQL术语来说,我的思路是:

select * from table where id in ("1", "2", "3")
我有这段代码,它在从SQL Server检索记录时工作正常

 var _records = from _adUserDatas in _adUserDataDBDataContex.ADUserDatas
     where
          _list.Contains(_adUserDatas.id)
     orderby _adUserDatas.fan
     select _adUserDatas;
当我将其更改为使用Microsoft CRM中的contacts实体时,它引发了一个异常,并表示我的where子句无效

有什么办法让它工作吗

谢谢


另外,我发现了这篇文章的讨论,但我在myset.where部分发现了错误。

CRM LINQ上下文不支持这一点。请在这里查一下

LINQ运算符:其中

限制:
该子句的左侧必须是属性名,右侧必须是值。不能将左侧设置为常量。子句的两边不能都是常量。

有一种称为。看看它是否对你有帮助

有了,像下面这样的东西应该为你工作

var adUserDatas = _adUserDataDBDataContex.ADUserDatas
string[] _list = new[] { "1", "2", "3" };
string whereClause = String.Empty;

foreach (var id in _list)
{
    whereClause += string.Format("_adUserDatas.id = \"{0}\" OR ", id);
}

adUserDatas = adUserDatas.Where(whereClause.Substring(0, whereClause.Length - 4));

var query = from n in adUserDatas
        select n;

Ref:

当您使用联系人实体时,错误说明了什么?查询表达式在操作符中包含一个
,因此如果您愿意,您可以随时使用它,而不是动态的link@Daryl我认为这是一个很好的选择,谢谢你让我知道。