首页 > 解决方案 > cannot convert from 'Microsoft.Xrm.Sdk.Query.QueryExpression' to 'Microsoft.Crm.Sdk.Query.QueryBase

问题描述

I am getting the above error with the below code.

I read somewhere that said I should remove all references to Microsoft.Crm.Sdk.dll but that didn't work. please assist if you can.

using System;

using System.Collections.Generic;

using Microsoft.Xrm.Sdk;

using InvoiceMVCApp.Models;

using Microsoft.Xrm.Sdk.Query;

using Microsoft.Xrm.Client.Services;

using Microsoft.Xrm.Client;

namespace InvoiceMVCApp.DAL
{

    public class DAL_InvoicesEntity
    {
        public List<InvoicesModel> RetriveRecords()
        {
            var connection = new CrmConnection("Server=CRM Online");
            using (OrganizationService service = new OrganizationService("ConnectionString", connection))
            {
                QueryExpression query = new QueryExpression
                {
                    EntityName = "invoice",
                    ColumnSet = new ColumnSet("invoiceid", "customer", "invoicename", "paymentreceived", "commission", "adminfee", "discountamount")
                };
                List<InvoicesModel> info = new List<InvoicesModel>();
                EntityCollection invoiceRecord = service.RetrieveMultiple(query);

                if (invoiceRecord != null && invoiceRecord.Entities.Count > 0)
                {
                    InvoicesModel invoiceModel;
                    for (int i = 0; i < invoiceRecord.Entities.Count; i++)
                    {
                        invoiceModel = new InvoicesModel();
                        if (invoiceRecord[i].Contains("invoiceid") && invoiceRecord[i]["invoiceid"] != null)
                            invoiceModel.InvoiceID = (Guid)invoiceRecord[i]["invoiceid"];
                        if (invoiceRecord[i].Contains("customer") && invoiceRecord[i]["customer"] != null)
                            invoiceModel.ClientName = ((EntityReference)invoiceRecord[i]["customer"]);
                        if (invoiceRecord[i].Contains("invoiceid") && invoiceRecord[i]["invoiceid"] != null)
                            invoiceModel.InvoiceNumber = invoiceRecord[i]["invoiceid"].ToString();
                        if (invoiceRecord[i].Contains("commission") && invoiceRecord[i]["commission"] != null)
                            invoiceModel.Commission = (decimal)(invoiceRecord[i]["commission"]);
                        if (invoiceRecord[i].Contains("adminfee") && invoiceRecord[i]["adminfee"] != null)
                            invoiceModel.AdminFee = (decimal)invoiceRecord[i]["adminfee"];
                        if (invoiceRecord[i].Contains("discountamount") && invoiceRecord[i]["discountamount"] != null)
                            invoiceModel.Discount = ((decimal)invoiceRecord[i]["discountamount"]);
                        info.Add(invoiceModel);
                    }
                }
                return info;
            }
        }
    }
}

标签: c#asp.net-mvcdynamics-crm

解决方案


尝试清理 -> 重建。不必删除引用,您可以使用全名代替 akaMicrosoft.Xrm.Sdk.Query.QueryExpression query = new Microsoft.Xrm.Sdk.Query.QueryExpression(){};


推荐阅读