コード例 #1
0
        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);
                });
            });
        }
コード例 #2
0
        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);
                });
            });
        }
コード例 #3
0
ファイル: TicketMapping.cs プロジェクト: csf-dev/agiil
        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)));
                    });
                });
            });
        }