Very nice! I implemented strongly typed delete in NH-3488 
<https://nhibernate.jira.com/browse/NH-3488>, but the syntax was a bit 
different:

session.Delete<Product>(x => x.Price > 100);

Do you have a pull request waiting to be issued?

RP

On Thursday, December 18, 2014 11:21:06 PM UTC, Gunnar Liljas wrote:
>
> So, now I have completed and old abandoned NH project, to create a Linq 
> implementation of the bulk functionality. It's complete in the sense that 
> all the unit tests from the HQL implementation passes with the Linq 
> implementation as well, plus a couple more. Before I clean things up, I'd 
> like you input on the syntax.
>
> Currently it works like this:
>
> Delete
>
> session.Query<Animal>()
>     .Where(x=>x.Age>3)
>     .DeleteAll(); 
>
> //all methods returns int (affected rows)
>
> Update
>
> session.Query<Animal>()
>    .Where(x=>x.Age>3)
>    .UpdateAll(x=>x
>       .Set(y=>y.Name,"Peter")
>       .Set(y=>y.Age,y=>y.Age+1)
>     )
>
> Insert (i.e INSERT SELECT)
>
> session.Query<Animal>()
>    .Where(x=>x.Age>3)
>    .InsertInto(x=>new Human{
>       Name=x.Name,
>       Age=x.Name+10
>     })
>
>
> The Delete method was first implemented as 
> session.Delete<Animal>(x=>x.Age>3), but I added the IQueryable<T>.DeleteAll 
> extension for consistency.
>
> I welcome any ideas on how this can be improved/changed.
>
> /G
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nhibernate-development+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to