Off the top of my head .. maybe you could try using an idbag and see if that helps..
On Apr 2, 12:52 am, Dzyann Leleur <[email protected]> wrote: > Thank you very much Roger, > I was looking for something like that but I couldn't find it. > > I have implemented what the link says, but is not working properly, in some > cases doesn't delete at all and in others it just keeps deleting item by > item. > > I am using Fluent Nhibernate for mapping, but here is the mapping that it is > producing for the class Query: > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > default-access="property" auto-import="true" default-cascade="none" > default-lazy="true"> > <class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="Query, > Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" > table="`Query`"> > <id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0, > Culture=neutral, PublicKeyToken=b77a5c561934e089"> > <column name="Id" /> > <generator class="identity" /> > </id> > <bag cascade="all-delete-orphan" inverse="true" name="NasLocations" > mutable="true"> > <key> > <column name="Query_id" /> > </key> > <one-to-many class="NASLocation, Domain, Version=1.0.0.0, > Culture=neutral, PublicKeyToken=null" /> > </bag> > <bag cascade="all-delete-orphan" inverse="true" name="MetadataItems" > mutable="true"> > <key> > <column name="Query_id" /> > </key> > <one-to-many class="MetadataItem, Domain, Version=1.0.0.0, > Culture=neutral, PublicKeyToken=null" /> > </bag> > > Mapping for QueryMetadataItem and NasLocations relation with Query: > > <many-to-one class="Query,Domain, Version=1.0.0.0, Culture=neutral, > PublicKeyToken=null" foreign-key="Query_id" name="Query"> > <column name="Query_id" /> > </many-to-one> > > I am deleting the items as follows: > query.NasLocations.Clear(); > query.MetadataItems.Clear(); > > And then removing the Query itself. > The NasLocations items do not get deleted at all, and the MetadataItems get > delete one by one. > > Any ideas? > > Dzy.- > > PS: On the mappings I deleted most of the namespaces text, to make the > mapping smaller. > > On Fri, Apr 1, 2011 at 6:42 PM, Roger Kratz <[email protected]>wrote: > > > > > > > > > > >http://www.nhforge.org/doc/nh/en/index.html#performance-collections-o... > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] On Behalf > > Of Dzyann > > Sent: den 1 april 2011 23:23 > > To: nhusers > > Subject: [nhusers] Delete Cascade taking a long time > > > Hi, > > > I have a an entity Query that has a lot of items Metadata in a relation > > "one-to-many". > > When I delete the Query, I want all its childs to be delete too, so I set > > cascade to all-delete-orphan. > > > The items get deleted, but it takes a lot of time. The query can have many > > items, lets say 95k items. > > I checked out with the SQL Profiler to see what was going on, and I saw > > that each Metadata Item is getting deleted one by one like: > > > exec sp_executesql N'DELETE FROM MyDatabase.dbo.[QueryMetadata] WHERE Id = > > @p0',N'@p0 int',@p0=302401 > > > This takes time, and produces a bad user experience. I would like to hear > > out any recommendations. > > Maybe is better if I delete the items with a sql sentence? > > > Thanks in advance for your help! > > > Dzy.- > > > -- > > 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. > > > -- > > 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. -- 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.
