当使用接口而不是具体类作为属性时,流畅的nHibernate是否能很好地发挥作用?
E.g。体育场馆引用了它所在的城市,因此我们的界面/具体课程如下所示
界面:
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
Mapper:
public class StadiumMap : ClassMap<Stadium>
{
public StadiumMap()
{
...
References(x => x.City).Column("Id");
...
}
}
上述工作如何能够流利地使用nhibernate或者我必须用“City”替换我的“ICity”吗?