Ich habe ein Problem mit der Aktualisierung von Daten in der Datenbank. Ich habe eine einfache Beziehung zwischen einem Produkt und einer Gruppe:
public class GroupInfoMapping : ClassMap<GroupInfo>
{
public GroupInfoMapping()
{
Table("`group`");
Schema("tempdb");
Id(x => x.Id)
.GeneratedBy.Native();
OptimisticLock.Version();
Map(x => x.GroupName);
Map(x => x.ParentId);
HasMany(x => x.Products)
.KeyColumn("GroupId")
.Inverse()
.Fetch.Select()
.AsSet();
//HasMany(x => x.Children)
// .KeyColumn("Id")
// .Inverse()
// .Fetch.Select()
// .Cascade.None()
// .AsSet();
//References(x => x.Parent)
// .Class(typeof(GroupInfo))
// .Column("ParentId")
// .Fetch.Select();
}
}
public class ProductInfoMapping : ClassMap<ProductInfo>
{
public ProductInfoMapping()
{
Table("`product`");
Schema("tempdb");
Id(x => x.Id)
.GeneratedBy.Native();
OptimisticLock.Version();
Map(x => x.GroupId);
Map(x => x.ProductName);
References(x => x.Group)
.Class(typeof(GroupInfo))
.Column("GroupId")
.Fetch.Select();
}
}
Es macht keinen Unterschied, wenn ich nur die Produktdaten ändere, es wird mir nicht erlauben, mit Ausnahme zu aktualisieren: Der Parameterindex liegt außerhalb des Bereichs.
Wenn ich Not.Update() zur Produktzuordnung für die Gruppenreferenz hinzufüge, kann ich die Produktdaten aktualisieren (aber die Gruppe bleibt unreferenziert).
Ich verwende eine MySql-Datenbank, und ich verwende eine Sitzung pro Referent. Warum kann ich nicht sowohl die Entität als auch ihre Referenz aktualisieren? Ich habe den Teil für die Selbstreferenzierung der Gruppe auskommentiert, da dies auch Probleme verursacht, wenn nur die Gruppe aktualisiert wird.
Danke! Goran