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