В Castle Activerecord (поверх NHibernate) возможно ли глобальное использование наследования таблиц классов и наследование отдельных таблиц в части дерева наследования? Я хотел бы сделать что-то вроде
/// <summary>
/// Base class for models
/// </summary>
[ActiveRecord("model"), JoinedBase]
public abstract class Model: ActiveRecordBase
{
/// <summary>
/// Primary Key
/// </summary>
[PrimaryKey(PrimaryKeyType.UuidHex, "ROWID", Params = "format=D,separator=-")]
public virtual string Id { get; set; }
[Property("name")]
public string Name { get; set; }
[Property("description")]
public string Description{ get; set; }
}
/// <summary>
/// A container
/// </summary>
[ActiveRecord("container")]
public class Container : Model
{
/// <summary>
/// Gets the container id
/// </summary>
[JoinedKey("container_id")]
public override string Id
{
get { return base.Id; }
set { base.Id = value; }
}
}
/// <summary>
/// A glass
/// </summary>
[ActiveRecord("container",
DiscriminatorColumn = "container_type",
DiscriminatorValue = "1"
)]
public class Glass : Container
{
}
Так что все распространенные «вещи» (такие как имя, описание и т. Д.) Находятся в таблице «модель», но я все еще могу использовать STI в таблице «контейнер». Или это пустая трата времени, и я должен пойти в ИППП?
Заранее спасибо, Джим