In this case, I would favor composition over inheritance. The classes could be PriceInfo and InvestmentInfo, for example, and your IInvestable and IPricable interfaces would include properties of those types.
Edit: The resulting database schema would look something like this:
PriceInfo
---------
PriceInfoId
[Other Stuff]
InvestmentInfo
--------------
InvestmentInfoId
[Other Stuff]
IndexClass
---------
IndexClassId
PriceInfoId
[Other Stuff]
FundClass
---------
FundClassId
PriceInfoId
InvestmentInfoId
[Other Stuff]
Jacob
2009-09-29 15:14:09