繁体   English   中英

ServiceStack.OrmLite继承映射

[英]ServiceStack.OrmLite inheritance mapping

ServiceStack.OrmLite是否支持继承映射?

像DevExpress XPO: 继承映射或nHibernate 继承

例如(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”,但它不起作用。

没有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; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM