我的域有一个名为 Car 的对象。它有几个属性
public abstract class Car : ICar
{
public int Id { get; set; }
public string Name { get; set; }
public string Model { get; set; }
public string Color { get; set; }
public abstract string Drive();
}
它实现了接口ICar
public interface ICar
{
string Color { get; set; }
int Id { get; set; }
string Model { get; set; }
string Name { get; set; }
string Drive();
}
现在我希望有两种继承的类型。他们继承了 Car,并实现了 ICar。
class SportCar: Car, ICar
{
public override string Drive()
{
return ("vroooomvroooomvroooomvroooom i'm a sports car - "+ Name);
}
}
和
class Truck: Car, ICar
{
public override string Drive()
{
return ("grrrrrrrrrrrr i'm a sports truck- " + Name);
}
}
所以现在我有两辆车可以履行合同,并且有不同的驾驶方式。
凉爽的
这很好用,所以在我的应用程序的其他地方我可以有这样的方法,我们很高兴
public string DoDrive(ICar c)
{
return c.Drive();
}
但现在我希望我的 Car 对象使用 fluent nhibernate 持久化到数据库中。我只想要一张桌子汽车,卡车和跑车在同一张桌子上。我可以创建一个枚举来确定它是跑车还是卡车。那不是一个问题。但是如何映射我的汽车对象。
我不能为 nhibernate 使用抽象类
谢谢!