【问题标题】:How to change CRM 4 Types to CRM 2011如何将 CRM 4 类型更改为 CRM 2011
【发布时间】:2012-12-28 06:50:15
【问题描述】:

我正在尝试将 crm 4 插件转换为 CRM 2011。 有人知道 CRm 2011 中的相应类型吗?

客户、CrmDateTime、CrmDecimal、CrmFloat、CBool​​ean、CrmMoney、所有者、选项列表、键、状态、UniqueIdentifier、CrmBoolean

public static object GetAttributeValue(this Entity target, string attributeLogicalName)
        {
            object value;
            if (target.Attributes.Contains(attributeLogicalName))
            {
                value = target.Attributes[attributeLogicalName];
                if ((value is Boolean) || (value is string))
                    return value;
                else if (value is Customer)
                    return ((Customer)value).Value;
                else if (value is CrmDateTime)
                    return ((CrmDateTime)value).UserTime;
                else if (value is CrmDecimal)
                    return ((CrmDecimal)value).Value;
                else if (value is CrmFloat)
                    return ((CrmFloat)value).Value;
                else if (value is CrmNumber)
                    return ((CrmNumber)value).Value;
                else if (value is CBoolean)
                    return ((CrmBoolean)value).Value;
                else if (value is Lookup)
                    return ((Lookup)value).Value;
                else if (value is CrmMoney)
                    return ((CrmMoney)value).Value;
                else if (value is Owner)
                    return ((Owner)value).Value;
                else if (value is Picklist)
                    return ((Picklist)value).Value;
                else if (value is Key)
                    return ((Key)value).Value;
                else if (value is Status)
                    return ((Status)value).Value;
                else if (value is UniqueIdentifier)
                    return ((UniqueIdentifier)value).Value;
                else if (value is CrmBoolean)
                    return ((CrmBoolean)value).Value;
                return null;
            }
            else
                return null;
        }

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm crm dynamics-crm-4


    【解决方案1】:

    自 Dynamics CRM 2011 以来,不再需要自定义类型来替代 .NET 类型。您可以(并且必须)使用标准的 .NET 类型。有关类型映射的说明,请参阅Types in the Microsoft Dynamics CRM SDK

    CRM 3 和 CRM 4 (CrmBoolean, ...) 中存在自定义类型是必要的,因为 CRM 3 基于没有 Nullable 类型的 .NET 1。

    【讨论】:

      【解决方案2】:

      请参阅this article,其中记录了从 CRM 4 类型到 CRM 2011 类型的映射。

      不再需要自定义类型并不完全正确。虽然不再使用大多数自定义类型,但它们仍然是查找和选择列表属性所必需的。

      【讨论】:

      • 您说得对,仍然有自定义类型,但不能替代标准 .NET 类型
      猜你喜欢
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2011-08-17
      • 2011-09-17
      相关资源
      最近更新 更多