Looks nice. But yes, I think if you can have anonymous object for the
parameters this would be better. I have used FluentMigrator and it does
this for Update/Insert pretty nicely.

On Fri, Dec 19, 2014 at 11:13 AM, Alexander Zaytsev <haz...@gmail.com>
wrote:
>
> Very nice. I would like to remove word "All" from the operations.Also why
> do we need "Set" in update statement?
>
> On Fri, Dec 19, 2014 at 1:04 PM, Ricardo Peres <rjpe...@gmail.com> wrote:
>>
>> 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.
>>
>  --
>
> ---
> 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.
>

-- 

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