I have some class hierarchy, mapped by the code into several tables. One for base abstract class, and one table per concrete class. Classes hierarchy is relatively simple, like this:
public abstract class BaseClass {
// some common fields here
}
public class Subclass1 : BaseClass {
}
public class Subclass2 : BaseClass {
}
public class Subclass3 : BaseClass {
}
The problem appears when I try to Query over BaseClass to retrieve a collection of all subclasses from the database.
var allInstances = dbSession.QueryOver<BaseClass>().List();
Error message is very simple: "Cannot instantiate abstract class or interface".
So my question is: is there a way to have one single query for my scenario, or I have to run one query per subclass?