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.