контейнер - это контейнер объектов Foo, а не контейнер объектов интерфейса.
И он также не может быть полиморфным, могут быть указатели на вещи, но не сами объекты. Насколько большими должны быть слоты в контейнере для контейнера, если бы вы могли поместить в него все, что происходит от интерфейса
, вам нужно
container<Interface*>
или лучше
container<shared_ptr<Interface> >
Use collection interfaces instead of concrete collections, so NHibernate can inject it with its own collection implementation.
In this case, use IList
instead of List