First of all thanks to avoid the annoying discussion about "I don't want use
NH's transaction" and try it as I said you.

In releasenote.txt under
** BREAKING CHANGES from NH1.2.1GA to NH2.0.0
you can find this
* AutoFlush will not occur outside a transaction - Database transactions are
never optional, all communication with the database must occur inside a
transaction, whatever you read or write data.

The NH's transaction is, sorry to be redundant, the NH's transaction. You
have to use it because NH need it to take in account all operations under NH
responsibility (it include cache, UoW and transactionscope).

Because NH's transaction is not 1:1 with DB-transaction the TransactionScope
is not a substitute of NH's transaction.

On Wed, Aug 18, 2010 at 8: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.
>



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

Reply via email to