簡體   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