[英]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.