Let me try and explain this a different way. Yes, ISession.Delete(string) 
will take an HQL sting and do a bulk delete. That's fine, we use that today 
and it works okay. We have a few problems with it though. The HQL string is 
not type safe, the repositories get littered with different 
DeleteAllCustomersThatHaveXYandZ methods and the code could be easier to 
read. 

Since we're already using specifications for querying, it was a thought to 
use specifications for deleting as well. Thus the need to convert an 
expression to an HQL sting that we can pass into ISession.Delete(string). So 
that we could do

repository.Delete(new CustomerFromArgentina() && new InactiveCustomer())  

The two specifications are merged to a single expression (c.Country = 
"Argentina" && c.Status = CustomerStatus.Inactive) from which we would 
generate the HQL and pass that on to ISession.Delete. 

Instead of writing the HQL manually like we do today. 

-- 
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.

Reply via email to