我正在寻找一种检索自定义实体属性的方法
不使用crmsvcutil生成早期绑定类型。
我的问题有解决办法吗?
答案 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);