简体   繁体   中英

Execute inline sql to update a table using nHibernate

Sorry if this has been asked before, I did a search but couldn't find anything.

Is it possible to execute inline sql in nHibernate? I have something like this which I would like to run against the dB:

_session.CreateSQLQuery(
              @"update things
                set defaultThing = 0 where parentId = :parentId AND thingId <> :thingId")
                .SetInt32("parentId ", parent.Id)
                .SetInt32("thingId", thing.Id)
                ;

I suppose I could loop through a bunch of 'things' and set the defaultThing setting to false then call _session.Update(thing) , but if I can do it how I outlined above, that would be great.

Yes, just use ExecuteUpdate() on that query. It's the equivalent of IDbCommand.ExecuteNonQuery() .

As kay mentioned, you can use HQL too. Check 12.3. DML-style operations

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM