3


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

我的问题有什么解决办法吗?

4

1 回答 1

8

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

SDK在此处提供了一些关于如何使用后期绑定实体的示例。

此实体类不是强类型的(与从 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);
于 2011-09-12T01:00:57.460 回答