簡體   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