So i assume it is possible then :)
The mapping (generated by fluentNH)
*Customer Class:*
<?xml version="1.0" encoding="utf-8" ?>*
* <hibernate-mapping xmlns="*urn:nhibernate-mapping-2.2*" assembly="*Domain,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null*" namespace="*
MyProject.Domain*">*
*<class name="*Customer*" table="*`Customer`*" xmlns="*
urn:nhibernate-mapping-2.2*">*
*<id name="*Id*" type="*Guid*" column="*Id*">
<generator class="*assigned*" />
</id>*
*<property name="*Name*" type="*String*">
<column name="*Name*" />
</property>
** <bag name="*Orders*" cascade="*all*" inverse="*true*">
<key column="*Customer_id*" />
<one-to-many class="*MyProject**.Domain.Order, Domain,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null*" />
</bag>
</class>
</hibernate-mapping>
*Order Class*
<?xml version="1.0" encoding="utf-8" ?>*
*<hibernate-mapping xmlns="*urn:nhibernate-mapping-2.2*" assembly="*Domain,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null*" namespace="*
MyProject**.Domain*">*
*<class name="*Order*" table="*`Order`*" xmlns="*
urn:nhibernate-mapping-2.2*">*
*<id name="*Id*" type="*Guid*" column="*Id*">
<generator class="*assigned*" />
</id>
<many-to-one cascade="*none*" name="*Customer*" column="*Customer_id*"
/>*
* <property name="*Quantity*" type="*Int64*">
<column name="*Quantity*" />
</property>**
</class>
</hibernate-mapping>
This Works:
Order order = new Order();
order.Id = GUID.NewGuid();
_orderDao.Save(order);* // fails without this line*
Customer customer = new Customer();
customer.Id = GUID.NewGuid();
customer.Orders.Add(order);
order.Customer = customer;
customerDao.Save(customer);
This isn't a huge problem but would like to know the problem
2009/4/24 Fabio Maulo <[email protected]>
> and the mapping is ?
>
> 2009/4/24 DannyT <[email protected]>
>
> Is it possible to cascade an insert on a one to many bidirectional using
>> assigned IDs when the FK of the child has a constraint?
>>
>> E.g.
>>
>> Customer customer = new Customer();
>> customer.Id = 1;
>> Address address = new Address();
>> address.Id = 1;
>> customer.Addresses.Add(address);
>> customerDao.SaveOrUpdate(customer); // want this to insert the customer
>> then insert the address using the assigned customer ID
>>
>> I want to see this just perform 2 plain inserts with no updates to apply
>> the foreign key as that's currently violating fk constraints.
>> I've set cascade="all" and inverse="true" on the address collection.
>>
>> Currently we're getting an NHibernate first chance stale state exception?
>>
>> If it's technically possible I'll send more details but just want to check
>> if it's even technically possible.
>>
>> Cheers,
>>
>> Dan
>>
>>
>>
>
>
> --
> Fabio Maulo
>
> >
>
--
http://danny-t.co.uk
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---