I'm wondering if others will share ideas on how they handle custom data. This is data that is added to the schema at runtime, by the applicaiton.
Example. Say I'm writing a shopping cart, and it naturally has a dbo.Products table. I deploy my application, and I want to hav ethe option of "Custom Data" on the products table. So maybe an end user, can add a field called "Product Color".
I know of several ways to accomplish this.
Option #1. Add an dbo.Products.ExtraData column, and store XML. This is pretty flexible, and with the SQL2005 XML support, not a bad option. Crappy option for other databases without robust XML support at the column level. With a good custom field schema this sounds promising, with nice LLBLGen support.
Option #2. Create a set of Custom Data Tables, ie: dbo.CustomDataColumn, dbo.CustomData etc, to store the extra data. This has nice LLBLGen support as well, that is a little more dynamic across databases.
Ideas? Discussion? Pointers?