private void AddIdPropertyIfAvailableTo(PropertyDescriptorCollection modelProperties, ModelBindingContext bindingContext)
{
PropertyDescriptor idProperty =
(from PropertyDescriptor property in TypeDescriptor.GetProperties(bindingContext.ModelType)
where property.Name == ID_PROPERTY_NAME
select property).SingleOrDefault();
if (idProperty != null && !modelProperties.Contains(idProperty)) {
modelProperties.Add(idProperty);
}
}