Using XML field Vs. creating a table for unstable organization
I am in the middle of design an application to issue and store invoices for an organization. The problem is the organization is not stable at all. There are many types of invoices and they may increase and change. First, I tried to use tables in my DAL, one table to store invoices, one for invoice fields, and one for invoice field values. The problem was, this way needs Reflection to detect fields later, and this may slow the application when invoice contains plenty items. Second, I tried to keep core of invoice data as two tables: invoices and invoice items. Other fields are fully catchable