Here is a small utility method that can used to get the list of properties of any Entity

private IList<PropertyInfo> ListProperties<T>(T t)
{
var properties = (from p in typeof(T).GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance)
.Where(pi => !(pi.PropertyType.IsSubclassOf(typeof(EntityObject)))
&& !(pi.PropertyType.IsSubclassOf(typeof(EntityReference))))
select p).ToList<PropertyInfo>();
return properties;

}