Hi! You are assigning the id only in your default constructor.
Tapio On Tue, Mar 10, 2009 at 1:29 PM, David Perfors <[email protected]> wrote: > > Hello, > > I have two classes: one that inherits from Dictionary<> and which add > some extra funtionality, and one that uses it like this: > > public class Distribution<T> : Dictionary<T, Decimal>, IComparable<T> > { > } > > public class NotaRow > { > public NotaRow() > { > Children = new Distribution<NotaRow>(); > Id = Guid.NewGuid(); > } > > public NotaRow(String description, Decimal toPay) > { > Description = description; > ToPay = toPay; > } > > public Guid Id { get; private set; } > public String Description { get; set; } > public Decimal ToPay { get; set; } > > public Distribution<NotaRow> Children { get; private set; } > > public void Distribute(IEnumerable<Decimal> percentages) > { > foreach (Decimal percentage in percentages) > { > NotaRow row = new NotaRow(Description, ToPay * > percentage); > Children.Add(row, percentage); > } > } > } > > I try to map the NotaRow class to a database with the following > mapping: > <class name="NotaRow"> > <id name="Id" type="Guid"> > <generator class="assigned" /> > </id> > <property name="Description" /> > <property name="ToPay" /> > <map name="Children"> > <key column="Id" /> > <index column="NotaRowId" type="Guid" /> > <element column="Distribution" type="Decimal" /> > </map> > </class> > > Of course I get an error that the map is not working since I don't use > any interface and only a custom dictionary type. So for ease I replace > the Distribution class with the IDictionary<>/Dictionary combination. > But still NHibernate is complaining that it can't save the > NotaRow.Children > "Exception: Could not insert collection... The insert statement > conflicted with the foreign key Id NotaRowId" > > Can anybody give me some advice on how to solve this challange? for me > these dictionary mappings are the biggest challange this far with > NHibernate. (mapping to a BindingList was not easy either, but that is > already solved using custom collection types.) > > David. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
