Unfortunately the number of records can be very high (+100k), a single 
query is a must or maybe multiple queries like batching per 1000.


On Monday, July 30, 2012 3:55:34 PM UTC+2, Jason Meckley wrote:
>
> what you are asking for, no I don't think that's possible. you are mixing 
> object graphs with sql statements and they get's real messy real fast. 
> Instead I would manage this through objects and let NH deal with the sql 
> statements.
> how about:
>
>   var books = session.Query<Book>().Where(...).Futures();
>   foreach(var book in books)
>   {
>        var mybook = new MyBook(book...);
>        session.Save(mybook);
>   }
>
> //tx.Commit();
>
> Depending on your POID this will batch the write statements together. If 
> you are using HiLo or guid as ids the saves are batched together as a 
> single db call. If you are using Identity or another DB-centric POID than 
> the statements are executed individually. Depending on the number of 
> records expected to return from the books query individual insert 
> statements may or may not be acceptable.
>
> On Monday, July 30, 2012 9:02:19 AM UTC-4, Jochen Jonckheere wrote:
>>
>> Hi,
>>
>> For a project I'm working on I want to do some DLM stuff with NHibernate, 
>> I know not the best option. But anyway I'm stuck on complex where statement.
>>
>> On the screen a user can select multiple parameters to do a search and in 
>> code this generates some linq-code that is than executed via NHibernate. 
>> Example: _session.Query<Book>().Where(b => b.ISBN.StartsWith("10025") && 
>> b.Pages > 100 && b.Author.Name == "Jochen" && ...)
>>
>> But now I want to use that Where part in combination with INSERT INTO. An 
>> insert into that only works via hql or sql.
>> Example: _session.CreateQuery("insert into MyBooks (Id, NumberOfPages) 
>> select b.Id, b.Pages where ... (and here should the linq part be inserted)
>>
>> Is it possible to mix Linq and Hql? Or is there a better solution to this 
>> problem.
>>
>> Regards,
>>
>> Jochen
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/nhusers/-/p67F8zOZW48J.
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