Ich habe drei Klassen, die ein Problem beim Versuch, ein neues Kind hinzufügen hinzufügen.NHibernate und Hinzufügen neuer Elemente mit einer zusammengesetzten Auflistung zu einer untergeordneten Sammlung
Sie sind:
User {
List attributesGroup>
}
AttributesGroup {
attributesGroupId
value
}
AttributesGroupId {
attrName
userId
}
Die Abbildung ist:
<class name="AlternativeUserAttributes" table="`AlternativeUserAttributes`" lazy="true">
<composite-id name="Id" class="Data.Entities.AlternativeUserAttributesId">
<key-property name="AttributeName" column="`attributeName`" type="string" />
<key-many-to-one name="User" class="Entities.User" column="`userId`" />
</composite-id>
<property name="AttributeValue" column="`attributeValue`" type="string" />
<many-to-one name="User" column="`userId`" cascade="none" not-null="true" />
</class>
ich Artikel und Klasse SaveUpdate auf der Benutzerklasse ohne Probleme entfernen können, aber wenn ich versuchen, ein Element der hinzufügen Sammlung über:
AlternativeUserAttributes aua = new AlternativeUserAttributes();
aua.Id = new AlternativeUserAttributesId();
aua.Id.AttributeName = name;
aua.Id.User = curUser;
aua.AttributeValue = value;
aua.User = curUser;
curUser.AlternativeUserAttributes.Add(aua);
bekomme ich einen Fehler zu, dass die Zeilenanzahl war e Xpected, um 1 zu sein, aber war Null, und wenn ich versuche, nur das AlternateUserAttributes als sein selbst zu speichern, das Speicher verwendet, erhalte ich den diesen Fehler: Index war außerhalb der Reichweite. Muss nicht negativ und kleiner als die Größe der Sammlung sein. Parametername: index
Beide Versuche sind ein INSERT für das neue Element, aber ich bekomme diese Fehler. Gibt es jemanden, der helfen kann?
Wenn ich den ungesicherten Wert festlegen, wird ein Fehler von zurückgegeben: System.ArgumentOutOfRangeException: Index war außerhalb des Bereichs. Muss nicht negativ und kleiner als die Größe der Sammlung sein. – monksy