using(var transactionScope = new TransactionScope())
using(var session = sessionFactory.OpenSession())
using(var tx = session.BeginTransaction())
{
var someEntity = session.Get<SomeEntityType>(someId);
someEntity.Name = "bla";
....
transactionScope.Complete();
NH will use autodirty check
On Wed, Aug 18, 2010 at 7:53 AM, Jacob Madsen <[email protected]> wrote:
> So I do not need to make an explicit Update(someEntity) call?
>
> using(var transactionScope = new TransactionScope())
> using(var session = sessionFactory.OpenSession())
> {
> var someEntity = session.Get<SomeEntityType>(someId);
>
> someEntity.Name = "bla";
>
> session.Update(someEntity); // I want to avoid these explicit
> Update-calls by tracking the (dirty) entities in a session and do a single
> call to a "void SaveChanges()" method. The "SaveChanges" method should do
> the updating on the entities in a session. I still want to explicitly insert
> new entities with session.Save(newEntity), which I abstract and in a method
> called "Store".
>
> transactionScope.Complete();
> }
>
> On Tue, Aug 17, 2010 at 10:30 AM, Dwarrel <[email protected]> wrote:
>
>> Yes, you would not want to use it for that reason, flush will do that
>> automatically. Unfortunately I do sometimes crave for a way to see
>> which objects are in the session. Sometimes I would want to evict all
>> objects of a certain type from the session cache. This if you have a
>> longer running session and someone else has updated the DB values.
>> There is no known way of evicting say all purchase info and then re-
>> run a query to load the relevant ones. If you don't evict them then
>> you get a strange mix of stale and current information as your query
>> result (even when having the version number available!)
>>
>> On Aug 16, 3:33 pm, Jason Dentler <[email protected]> wrote:
>> > Automatic dirty checking will take care of this when the session is
>> flushed
>> > (which normally happens when you commit a transaction)
>> >
>> >
>> >
>> > On Mon, Aug 16, 2010 at 4:27 AM, Jacob Madsen <[email protected]> wrote:
>> > > Hi all,
>> >
>> > > Is there a method to retrieve references to all entities known by a
>> > > session
>> >
>> > > using (var session = sessionFactory.OpenSession())
>> > > {
>> > > var entity = session.Get<SomeType>(someId); // "entity" is now
>> > > known by the session
>> > > ....
>> > > var allKnownEntities = /* here I want to retrieve all entities
>> > > known/attached to a session */
>> > > ....
>> > > }
>> >
>> > > I want to implement a "void SaveChanges()" method that will Update all
>> > > modified entities known by a session.
>> >
>> > > Cheers!
>> >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> Groups
>> > > "nhusers" group.
>> > > To post to this group, send email to [email protected].
>> > > To unsubscribe from this group, send email to
>> > > [email protected]<nhusers%[email protected]>
>> <nhusers%[email protected]<nhusers%[email protected]>
>> >
>> > > .
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/nhusers?hl=en.- Hide quoted text -
>> >
>> > - Show quoted text -
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "nhusers" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<nhusers%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/nhusers?hl=en.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
--
Fabio Maulo
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
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.