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