Crm 2011获取没有早期绑定类型的自定义实体记录属性

时间:2011-09-09 12:46:37

标签: c# dynamics-crm-2011 early-binding


我正在寻找一种检索自定义实体属性的方法 不使用crmsvcutil生成早期绑定类型。

我的问题有解决办法吗?

1 个答案:

答案 0 :(得分:8)

您无需生成早期绑定类型即可从CRM检索实体数据。您可以使用名为Entity的类型(类似于CRM4的DynamicEntity)。

SDK提供了一些有关如何使用后期绑定实体here的示例。

此实体类不是强类型的(与crmsvcutil生成的早期绑定实体不同),因此您必须自己执行强制转换。 Entity上有一个方法可以帮助解决这个问题。以下代码可能会让您了解如何检索后期绑定实体。

IOrganizationService service = GetOrganizationService();
var entity = service.Retrieve(entityName,
                                entityId,
                                new ColumnSet(new[]
                                                {
                                                    stringAttributeName,
                                                    intAttributeName,
                                                    floatAttributeName,
                                                    boolAttributeName,
                                                    optionSetAttributeName,
                                                    entityReferenceAttributeName,
                                                }));
var stringValue = entity.GetAttributeValue<string>(stringAttributeName);
var intValue = entity.GetAttributeValue<int?>(intAttributeName);
var floatValue = entity.GetAttributeValue<double?>(floatAttributeName);
var boolValue = entity.GetAttributeValue<bool?>(boolAttributeName);
var optionSetValue = entity.GetAttributeValue<OptionSetValue>(optionSetAttributeName);
var entityReferenceValue = entity.GetAttributeValue<EntityReference>(entityReferenceAttributeName);