Example by CrmSdk
public Guid GetDynamicEntityPrimaryAttributeGuid(DynamicEntity entity)
{
if (entity != null)
{
string strPrimaryKeyAttributeName = entity.Name.ToLower() + "id";
return ((Microsoft.Crm.Sdk.Key)entity.Properties[strPrimaryKeyAttributeName]).Value;
}
return Guid.Empty;
}
Example by Web Service
public Guid GetDynamicEntityPrimaryAttributeGuid(DynamicEntity entity)
{
if (entity != null)
{
string strPrimaryKeyAttributeName = entity.Name.ToLower() + "id";
for (int i = 0; i < entity.Properties.Length; i++)
{
if (entity.Properties[i].Name.ToLower() == strPrimaryKeyAttributeName)
{
KeyProperty property = (KeyProperty)entity.Properties[i];
return property.Value.Value;
}
}
}
return Guid.Empty;
}
1 comment:
That is not a reliable method of retrieving the id property. You should be looping through the Properties looking for one that is typeof(Key).
For instance serviceappointment has a primary id called activityid property.
Post a Comment