A: 

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
I'm still confused as to how I would store this in the DB as I still need some way of linking prices to a particular entity even if there is a FundClass of ID 10 and an IndexClass of ID 10, what structure should I use?
Stu
Foreign keys. You'll still have FundClass and IndexClass classes. I'm assuming that NHibernate would translate the PriceInfo and InvestmentInfo properties of both to foreign keys. See my edit for what the DB schema would look like.
Jacob
A: 
Stu