public void ApplyMapping(ConventionModelMapper mapper) { mapper.Class <TicketRelationship>(map => { map.ManyToOne(x => x.PrimaryTicket, propMap => { propMap.Column(nameFormatter.GetForeignKeyColumnName(Reflect.Property <TicketRelationship>(x => x.PrimaryTicket))); propMap.ForeignKey(nameFormatter.GetForeignKeyConstraintName(Reflect.Property <TicketRelationship>(x => x.PrimaryTicket), typeof(TicketRelationship))); propMap.Index(nameFormatter.GetIndexName(typeof(TicketRelationship), Reflect.Property <TicketRelationship>(x => x.PrimaryTicket))); propMap.Cascade(Cascade.Persist); }); map.ManyToOne(x => x.SecondaryTicket, propMap => { propMap.Column(nameFormatter.GetForeignKeyColumnName(Reflect.Property <TicketRelationship>(x => x.SecondaryTicket))); propMap.ForeignKey(nameFormatter.GetForeignKeyConstraintName(Reflect.Property <TicketRelationship>(x => x.SecondaryTicket), typeof(TicketRelationship))); propMap.Index(nameFormatter.GetIndexName(typeof(TicketRelationship), Reflect.Property <TicketRelationship>(x => x.SecondaryTicket))); propMap.Cascade(Cascade.Persist); }); }); }
public void ApplyMapping(ConventionModelMapper mapper) { mapper.Class <HierarchicalTicketRelationship>(map => { map.Mutable(false); map.ManyToOne(x => x.Ticket, m => { m.Column(nameFormatter.GetForeignKeyColumnName(Reflect.Property <HierarchicalTicketRelationship>(x => x.Ticket))); m.Cascade(Cascade.None); }); map.ManyToOne(x => x.RelatedTicket, m => { m.Column(nameFormatter.GetForeignKeyColumnName(Reflect.Property <HierarchicalTicketRelationship>(x => x.RelatedTicket))); m.Cascade(Cascade.None); }); map.ManyToOne(x => x.TicketRelationship, m => { m.Column(nameFormatter.GetForeignKeyColumnName(Reflect.Property <HierarchicalTicketRelationship>(x => x.TicketRelationship))); m.Cascade(Cascade.None); }); }); }
public void ApplyMapping(ConventionModelMapper mapper) { mapper.Class <Ticket>(map => { map.Set(x => x.PrimaryRelationships, set => { set.Key(k => { var participant = RelationshipParticipant.Primary.ToString(); var member = nameof(Ticket); k.Column(nameFormatter.GetForeignKeyColumnName(participant, member)); k.ForeignKey(nameFormatter.GetForeignKeyConstraintName(Reflect.Property <TicketRelationship>(x => x.PrimaryTicket), typeof(TicketRelationship))); }); }); map.Set(x => x.SecondaryRelationships, set => { set.Key(k => { var participant = RelationshipParticipant.Secondary.ToString(); var member = nameof(Ticket); k.Column(nameFormatter.GetForeignKeyColumnName(participant, member)); k.ForeignKey(nameFormatter.GetForeignKeyConstraintName(Reflect.Property <TicketRelationship>(x => x.SecondaryTicket), typeof(TicketRelationship))); }); }); }); }