ServiceStack.OrmLite是否支持继承映射?
与DevExpress XPO类似:Inheritance Mapping或nHibernate Inheritance。
例如(c#):
public abstract class EventBase
{
public string Name { get;set; }
}
public class NormalEvent: EventBase
{
public string A { get;set; }
}
public class SuperDuppaEvent:EventBase
{
public string B { get;set; }
}
在数据库中存在一个表'EventBase',其中包含来自'NormalEvent','SuperDuppaEvent'和'EventBase'的所有列/属性。
在文档中存在'AliasAttribute',但它不起作用。
答案 0 :(得分:0)
No OrmLite不支持继承映射。在OrmLite中,每个POCO以其代表的RDBMS表1:1映射是核心期望。因此,默认情况下,每个类都将映射到具有相同名称的RDBMS表:
NormalEvent
> NormalEvent表SuperDuppaEvent
> SuperDuppaEvent表如果您想要不同的行为,您需要将POCO类1:1映射到数据库中的布局,例如:
class NormalEvent
{
public string A { get; set; }
public int EventBaseId { get; set; }
}