我正在针对CRM 2011运行linq查询,并且不断收到此错误:

无效的“ where”条件。实体成员正在调用无效的属性或方法。

我的代码如下所示:

        try
        {

            string rsmName = "Bob Harrison";
            var linqQuery = (from r in gServiceContext.CreateQuery("opportunity")
                             join c in gServiceContext.CreateQuery("account") on ((EntityReference) r["accountid"]).Id equals c["accountid"] into opp
                             from o in opp.DefaultIfEmpty()
                             where ((EntityReference)r["ownerid"]).Name.Equals(rsmName)
                             select new
                                        {
                                            AccountId = !r.Contains("accountid") ? string.Empty : r["accountid"],
                                            Account = !o.Contains("name") ? string.Empty : o["name"]
                                        });

            ddlCustomer.DataSource = linqQuery;
            ddlCustomer.DataValueField = "AccountId";
            ddlCustomer.DataTextField = "Account";
            ddlCustomer.DataBind();
        }
        catch (Exception ex)
        {
        }


任何想法如何解决这个问题?

谢谢!

最佳答案

看来CRM Linq提供程序的功能有限,并且查询过于复杂。尝试使用FetchXml

关于dynamics-crm - 无效的“where”条件。实体成员正在调用无效的属性或方法。 LINQ查询错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10809343/

10-09 05:41