Im really glad for knowing this now. I actually thought TransactionScope was
a substitute.

Im using other transactional resources so TransactionScope will stay, but
now in company of NH transaction :-)

On Wed, Aug 18, 2010 at 1:50 PM, Jason Dentler <[email protected]>wrote:

> Oh. If you are only using NHibernate, you don't need TransactionScope. It's
> only useful when you are working with more than one transactional resource.
>
>
> On Wed, Aug 18, 2010 at 6:48 AM, Jason Dentler <[email protected]>wrote:
>
>> NH requires an NH transaction for any call to the database for the NH
>> internals to work properly.
>>
>> TransactionScope is not a substitute for an NH transaction.
>>
>>
>> On Wed, Aug 18, 2010 at 6:37 AM, Jacob Madsen <[email protected]> wrote:
>>
>>> Love the feature :-)
>>>
>>> Why do you also begin a nhibernate transaction?
>>>
>>>
>>>
>>>
>>> On Wed, Aug 18, 2010 at 1:08 PM, Fabio Maulo <[email protected]>wrote:
>>>
>>>> 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]<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.
>>>
>>
>>
>  --
> 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].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to