0

CRM 2011にクエリを実行し、結果をDropDownListにバインドするメソッドがあります。これは、私のコードです。

    public void CheckRsmPopulateAccounts()
    {

            string rsmFirstName = _currentUser.FirstName;
            string rsmLastName = _currentUser.LastName;

            ddlCustomer.DataSource = (from r in gServiceContext.CreateQuery("opportunity")
                             join c in gServiceContext.CreateQuery("account") on ((EntityReference)r["accountid"]).Id equals c["accountid"]
                             join u in gServiceContext.CreateQuery("systemuser") on ((EntityReference)r["ownerid"]).Id equals u["systemuserid"]
                             where u["firstname"].Equals(rsmFirstName) && u["lastname"].Equals(rsmLastName)
                             select new
                             {
                                 AccountId = !r.Contains("accountid") ? string.Empty : r["accountid"],
                                 Account = !c.Contains("name") ? string.Empty : r["name"]
                             });

            ddlCustomer.DataValueField = "AccountId";
            ddlCustomer.DataTextField = "Account";
            ddlCustomer.DataBind();


    }

しかし、何らかの理由で、それは私にException has been thrown by the target of an invocation.エラーを出し続けます、それはコマンドのように見えますDataBind。私は問題を理解できないようです、エラーはとても一般的なようです。何がこれを引き起こしているのか考えていますか?

ありがとう!

4

1 に答える 1

0

select new {}匿名タイプを作成します。匿名で型指定されたオブジェクトを介して列挙することはできません。

.ToList()linqの最後に追加します

また、Linqが実際に何かを返していることを確認し、戻ってくる列がないことを確認してくださいnull

于 2012-05-30T14:50:53.323 に答える