hi Tanguy,
A'property-set' is basically used to guarantee the needed column info could be pulled down regardless if it's on View or not. Hence, if it's on an entity homepage, it could easily switch to different views without worring about if that view contains the specific column or not.
For example, suppose a Calendar control has 3 property-sets, TaskName, StartDate, EndDate. If we bind these 3 property-sets to one entity, say 'Activity' entity, attributes 'subject', 'scheduledstart', 'scheduledend', then regardless we switched view to 'Closed Activity', 'Last Activity', 'Planed Activity', the needed 3 column metadata and data will be pulled down. Under this scenario, the view is mostly used for filtering.
Under some other scenarios, a data-set control like normal grid control still need to get all view's column and render. Hence, the 'columns' array we provided is actually the superset of both view's columns and property-set binding columns. The 'alias' in each column object is used to help dev find the mapped property-set.
Thanks,
Anqi