Laden...

Fluent NHibernate mit mehreren PrimaryKeys inkl. ForeignKey

Erstellt von Nergal vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.677 Views
N
Nergal Themenstarter:in
59 Beiträge seit 2008
vor 14 Jahren
Fluent NHibernate mit mehreren PrimaryKeys inkl. ForeignKey

verwendetes Datenbanksystem: MS SQL 2005

Hi,

ich habe zwei Tabellen, die wie folgt aufgebaut sind:

A:
ID<int>
Name<varchar>

B:
ID<int>
KeyName<varchar>
Value<varchar>

A.ID ist der PrimaryKey von A.
B.ID ist ein ForeignKey auf A.ID.
B.ID und B.KeyName sind die PrimaryKeys von B.

Und nun zu meinem Problem: Wie mappe ich das?!

Momentan sieht das Mapping so aus


Id(x => x.Id);
Map(x => x.Name);


 CompositeId()
                .KeyProperty(x => x.Id)
                .KeyProperty(x => x.KeyName);
Map(x => x.Value).Not.Nullable();

ID ist noch nicht als ForeignKey eingetragen, da es schon bei den beiden PKs knallt.
Und zwar bekomme ich den Fehler:
NHibernate.MappingException: composite-id class must override GetHashCode(): Namespace.B

Die Methoden sind aber in B implementiert.


        public bool Equals(CommonMappingItem other)
        {
            ...
        }

        public override bool Equals(object obj)
        {
           ...
        }

        public override int GetHashCode()
        {
            ...
        }


Evtl. hab ich ja auch den komplett falschen Ansatz. Da ich auch nach langer Recherche keine wirkliche Hilfe gefunden habe, hoffe ich, daß ihr mir helfen könnt.

Gruß und Danke
Nergal