title: Extending a component with additional properties
body: <p>So I'm thinking about creating a simple component that I would be using on various different projects. The component provides a class (let's say, a car), that I use on many projects. The component also has things such as basic views for listing the various cars and persists its own data into a database via Entity Framework.</p>
  
  <p>Now my question is, how do I extend this car component between projects? Most cars in the different projects have very similar properties, but they all have some extra ones. So how do I add this extra functionality (or just properties) to the component in a way that allows me to just update the .dll containing the component should I later on improve the base component? And how do I make the component "aware" of the extra columns in its db?</p>
  
  <p>So far I've been considering two different alternatives, but don't like either. First would be to just take the latest version of the component, add the stuff that the current project needs and use that. But this obviously gets cumbersome if I want to update the base component. The second alternative I thought about would be that the main component has a link to an "extension" table that could then be defined further in the customizing project. Or something along those lines.</p>
  
  <p>As you can probably tell, I've quite new to all this. So any and all tips are much appreciated!</p>