繁体   English   中英

MS Dynamics CRM System.InvalidCastException

[英]MS Dynamics CRM System.InvalidCastException

我有一个奇怪的问题,我有成千上万的实体,并且在我的crm系统中有CRMSvcUtil生成的XrmSchema.cs,对我来说非常好,尤其是在使用查询并将其转换为代码中的实体对象时。 这种转换方法对所有实体都适用 ,除了一个实体,我一直在获取System.InvalidCastException:无法为此对象转换类型为“ Microsoft.Xrm.Sdk.Entity”的对象 这是生成它的以下代码段,它在toList()方法中引发异常:

 public List<etel_productcharacteristic> RetrieveCharacteristic(Guid characteristicId)
        {
            using (XrmDataContext context = new XrmDataContext(CRMConnection.OrganizationService))
            {   
                var query = from characteristic in context.etel_productcharacteristicSet
                            where characteristic.etel_productcharacteristicId == characteristicId && characteristic.statecode.Value == etel_productcharacteristicState.Active
                            select characteristic;
                return query.ToList();


            }
        }

谁能指出这个代码有什么问题吗? 顺便说一句,我在互联网上阅读的所有解决方案都建议使用enableproxy方法。 在我的情况下,在初始化organizationservice时将调用Enableproxy方法,因此它看起来不像是罪魁祸首。 而且所有其他转换在我的插件中都可以正常工作,这个插件一定有问题。

您需要更改此行:

where characteristic.etel_productcharacteristicId == characteristicId && characteristic.statecode.Value == etel_productcharacteristicState.Active

读书

where characteristic.etel_productcharacteristicId.Id == characteristicId && characteristic.statecode.Value == (int)etel_productcharacteristicState.Active

老实说,您可能需要对(int)演员表进行仔细检查,因为这可能不是必需的-我只是眼前没有验证代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM