c# - 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;
}
}
}
}
解决方案
尝试清理 -> 重建。不必删除引用,您可以使用全名代替 akaMicrosoft.Xrm.Sdk.Query.QueryExpression query = new Microsoft.Xrm.Sdk.Query.QueryExpression(){};
推荐阅读
- sql - PostgreSQL:我是否需要锁定表以避免在更新期间使用子查询在 JSONB 数组中查找索引或更新时出现并发错误?
- python - 从提及 PRAW reddit api 获取帖子对象
- css - 带有 litelement 的全局样式
- arrays - 当我尝试使用按引用调用来查找数组的最大值时,为什么程序给出了错误的答案?
- php - 如何遍历两个 XML 文件并打印结果
- python - 根据订单、模具优化组合和打印数量
- javascript - JavaScript 等待函数
- c++ - 如何将全局范围函数声明为命名空间类的朋友?
- flash - WebSphere Management Center (CMC) 的闪存寿命终止意味着什么?
- python - 在python中创建包含特定列表值的列表列表