Учитывая класс:
public class VotingResult : DomainEntity
{
public const string DefaultTag = "overall";
public VotingResult()
{
Dimension = DefaultTag;
}
public virtual DomainEntity Item { get; set; }
public virtual String Dimension { get; set; }
public virtual double Value { get; set; }
public virtual int VoteCount { get; set; }
public virtual DateTime DateCreated {get; set;}
}
И отображение
public sealed class VotingResultMap : ClassMap<VotingResult>
{
private VotingResultMap()
{
Id(x => x.Id);
Map(x => x.Option);
Map(x => x.Dimension);
Map(x => x.DateCreated);
Map(x => x.Value);
Map(x => x.VoteCount);
ReferencesAny(x => x.Item).AddMetaValues(); // extension method to add discriminators
}
}
Есть ли способ проецирования VotingResult.Item.GetType () через Linq или HQL («Выбор r.class из VotingResult» не работает. Есть некоторые неприятные приемы, которые я могу использовать, но мне нужно быть в состоянии легко сгладить ссылку в тип и идентификатор - в идеале, используя Linq или AliasToBeanResultTransformer.
Для записи, отображение наследования для подклассов DomainEntity: Таблица на класс.
Спасибо