Are there any gotchas with using [IgnoreMetaDataPlusSynchronization] on a property on a Product class? The reason? Can't add a ContentReference property otherwise.
That attribute is to mark a property as there's no equivalent metafield, it should be a artifact property for quicker/better access, and you have "custom" code to get/set that property. For example, EntryContentBase has MetaClassId, which is not presented by any metafield. It's stored in database as the MetaClassId column of CatalogEntryRow.
We've been trying to make our API to has as little gotchas/pitfalls as possible. I tried to add that attribute to a ContentReference property and it seems to work fine. What's the problem you're having.
We do not (yet) support storing content reference properties on catalog content. If you want to link products to each other I suggest using the ILinksRepository API.
I suspect if you add the attribute it might look (e.g. in the UI) like you can actually store data, but you will only be able to store data on draft versions, it won't actually be stored in the catalog database / metadata plus.
Thanks for your answers Quan and Magnus. I'll have to figure out another way to link a product to another product/cms page/block. I want to be able to pick a product/page/block for the products brand with brand name, logotype, url etc.