I'm sorry, but that only gives me more problems.. (stalestate
exceptions...) I didn't have any problems with the assigned strategy.
What I am doing is this:
RateTable table = new RateTable("MyRate").AddDefintion(DateTime.Today,
0.18m);
session.Save(table);
session.Flush();
session.Clear();
session2.Save(table);
session2.Flush();
session2.Clear();
But when I use SaveOrUpdateCopy instead of save, it seems to work...
(but not in production code...)
On May 29, 2:35 pm, Fabio Maulo <[email protected]> wrote:
> With "assigned" you should define the unsaved-value (probably we must review
> what is happening with "assigned" strategy to avoid the unsaved-value).Btw
> you can use the strategy "guid" or even better "guid.comb" and NH will
> manage the ID for you.
>
> 2009/5/29 David Perfors <[email protected]>
>
>
>
>
>
> > Hello,
>
> > I am writing an export function for the application I work on and I
> > want to put the exported objects to an SQLite database. I have an
> > object (RateTable) that contains a IList of items (RateDefinition).
> > When I add the object to one ISession, it works properly, but when I
> > add it to a new ISession (from a different SessionFactory) as well, it
> > won't insert the reference identifier to the RateDefinition table...
>
> > public class RateTable
> > {
> > private RateTable() { }
> > public RateTable(string name)
> > {
> > Id = Guid.NewGuid();
> > Name = name;
> > Definitions = new List<RateDefinition>();
> > }
> > public Guid Id { get; private set; }
> > public string Name { get; set; }
> > public IList<RateDefinition> Definitions { get; private set; }
>
> > public RateTable AddDefintion(DateTime startDate, decimal
> > rate)
> > {
> > Definitions.Add(new RateDefinition(startDate, rate));
> > return this;
> > }
>
> > public override bool Equals(object obj)
> > {
> > if (GetType() != obj.GetType())
> > return false;
> > return Equals(obj as RateTable);
> > }
>
> > public bool Equals(RateTable obj)
> > {
> > return Id.Equals(obj.Id);
> > }
> > }
> > public class RateDefinition
> > {
> > private RateDefinition()
> > {
> > }
>
> > public RateDefinition(DateTime startDate, decimal rate)
> > {
> > Id = Guid.NewGuid();
> > StartDate = startDate;
> > Rate = rate;
> > }
>
> > public Guid Id { get; private set; }
> > public DateTime StartDate { get; set; }
> > public decimal Rate { get; set; }
> > }
>
> > <?xml version="1.0" encoding="utf-8" ?>
> > <hibernate-mapping assembly="ImportExport"
> > default-cascade="save-update"
> > default-lazy="false"
> > namespace="ImportExport.Domain"
> > xmlns="urn:nhibernate-mapping-2.2">
> > <class name="RateDefinition">
> > <id name="Id" type="Guid">
> > <generator class="assigned" />
> > </id>
> > <property name="StartDate" />
> > <property name="Rate" />
> > </class>
>
> > <class name="RateTable">
> > <id name="Id" type="Guid">
> > <generator class="assigned" />
> > </id>
> > <property name="Name" />
> > <list cascade="save-update" name="Definitions" lazy="false">
> > <key column="RateTableId" />
> > <index column="idx" />
> > <one-to-many class="RateDefinition" />
> > </list>
> > </class>
> > </hibernate-mapping>
>
> > Any ideas?
>
> > David
>
> --
> Fabio Maulo
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---