I did this. *Classes:* public class BaseDistribution { public virtual int Id{ get; set; } public virtual decimal Sum { get; set; } public virtual string AddInfo { get; set; } public virtual string Name { get; protected set; } public virtual Work Work { get; set; } public virtual int Type { get; set; }
public BaseDistribution() { } } public class DivisionDistribution : BaseDistribution { public virtual InnerDivision Division { get; set; } public override string Name { get { return Division.ShortName; } } public DivisionDistribution() : base() { } } public class EmployeeDistribution : BaseDistribution { public virtual string SingleExecuter { get; set; } public override string Name { get { return SingleExecuter; } } public EmployeeDistribution() : base() { } } ______________________ *Mapping:* public class BaseDistributionMap : ClassMap<BaseDistribution> { public BaseDistributionMap() { Table("distributions"); Id(x => x.Id).Column("distribution_id"); Map(x => x.Sum).Column("sum"); Map(x => x.AddInfo).Column("add_info"); Map(x => x.Type).Column("type"); References(x => x.Work).Column("work_id"); DiscriminateSubClassesOnColumn("type"); } } public class DivisionDistributionMap : SubclassMap<DivisionDistribution> { public DivisionDistributionMap() { DiscriminatorValue(1); References(x => x.Division).Column("division_id").Fetch.Select(); } } public class EmployeeDistributionMap : SubclassMap<EmployeeDistribution> { public EmployeeDistributionMap() { DiscriminatorValue(2); Map(x => x.SingleExecuter).Column("single_executer"); } } Is it right? What advantages this variant gives to me instead of variant with "switch" inside Name property in one class? -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To view this discussion on the web visit https://groups.google.com/d/msg/fluent-nhibernate/-/fRj_RW08dyEJ. To post to this group, send email to fluent-nhibernate@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.