Dynamics CRM: null value and GetPropertyValue<T>()
本文关键字:lt gt GetPropertyValue CRM null value and Dynamics | 更新日期: 2023-09-27 18:04:29
代码如下:
public class ContactDTO
{
public string Email {get; set;}
public decimal? ExchangeRate {get; set;}
}
......
var contacts = crm.GetEntities("contact")
var cList = new List<ContactDTO>();
foreach(contact in contacts)
{
clist.Add(new ContactDTO
{
Email = contact.GetPropertyValue<string>("emailaddress1");
ExchangeRate = contact.GetPropertyValue<decimal>("exchangerate");
}
}
在上面的代码中,如果在Dynamics中汇率为空,我将得到一个十进制的默认值,这不是我想要的(我想知道它是否为空)。如果我使用:
contact.GetPropertyValue<decimal?>("exchangerate")
如果它在动力学中为空,应该带回null吗?我在其他场景中尝试过,它总是发送回值类型的默认值。我怎样才能得到null,以确保dto对象属性为null?
我可以建议的一种方法是围绕GetPropertyValue方法编写一个helper/包装器,该方法检查返回类型,并确保返回类型是否可为空(如contact.GetPropertyValue("exchangerate")),然后如果属性值也为空,则返回null。HTH。:)