Хорошо ли работает свободный nHibernate при использовании интерфейсов вместо конкретных классов в качестве свойств?
Например, у спортивного стадиона есть ссылка на город, в котором он находится, поэтому наши интерфейсы / конкретные классы выглядят следующим образом
Интерфейс:
ICity
int Id;
string Name;
IStadium
int Id;
string Name;
ICity City;
Класс бетона:
class City: ICity;
...
class Stadium: IStadium;
public virtual int Id {get; private set; }
public virtual string Name { get; set; }
public virtual ICity City { get; set; } //<- NOTE: Reference to interface instead of the class
Картограф:
public class StadiumMap : ClassMap<Stadium>
{
public StadiumMap()
{
...
References(x => x.City).Column("Id");
...
}
}
Так будет ли вышеописанное нормально работать в беглом nhibernate или мне придется заменить мой "ICity" на "City"?