SessionScope's autoflushing behavior bothered me before. I think it is
better that use trasactionscope explicitly to update data.  When we
want to update data, we must use transactionscope or ATM.

On Mon, Nov 3, 2008 at 3:04 AM, Craig Neuwirt <[EMAIL PROTECTED]> wrote:
>
>
> On Sun, Nov 2, 2008 at 12:54 PM, Markus Zywitza <[EMAIL PROTECTED]>
> wrote:
>>
>> Craig
>>
>> I don't see why mandatory transactions in NH2 affect autoflush. With the
>> idiomatic NH double using-block, I have an autoflushing session as well.
>> Actually, SessionScope's autoflushing behaviour was broken after update to
>> NH2 because the SessionScope session had no transaction. The performance
>> gain that results from non-autoflushing sessions is still available via
>> SessionScope(FlushAction.Never).
>
> I could be wrong, but if I am an AR user and I just want to retrieve data, I
> would create a session scope and do my retrieval.  If I plan to perform
> updates I would create a TransactionScope, do my updates and commit.  I was
> just suggesting we align the flush behavior with those scenarios to avoid
> having to remember to pass any parameters to the scopes.   What scenarios
> would this break on?
>
>>
>> -Markus
>>
>> 2008/11/2 Craig Neuwirt <[EMAIL PROTECTED]>
>>>
>>> -1
>>>
>>> Since NHibernate mandates a Transaction for all upates, I think the
>>> default for SessionScope should not be AutoFlush.  This also seems to
>>> suggest TransactionScope should remain FlushMode.Commit.  I think this is
>>> the preferred approach since readonly operations will not be penalized by
>>> NHibernate having to check dirty entities.
>>>
>>> On Sat, Nov 1, 2008 at 5:00 PM, Markus Zywitza <[EMAIL PROTECTED]>
>>> wrote:
>>>>
>>>> Hello
>>>>
>>>> Earlier today I commited a patch to ActiveRecord that restored the
>>>> behaviour of SessionScope with respect to flushing. This change was crucial
>>>> for a release because it prevents user from having to flush manually when
>>>> using session scopes.
>>>>
>>>> I also want to change TransactionScope to use FlushMode.Auto instead of
>>>> FlushMode.Commit. This would be a breaking change, but it also standardizes
>>>> flushing behaviour for all types of scopes. This helps especially in DDD
>>>> since the transaction can be controlled outside of the model, with no 
>>>> manual
>>>> flushes necessary. Additionally, there is no difference between code 
>>>> running
>>>> in SessionScope and code running in a TransactionScope.
>>>>
>>>> Other ideas I'd love to see in 1.0, but that could also come in 1.1:
>>>>
>>>> StatelessSessionScope
>>>> Event support (configuration/Windsor)
>>>> Adding hbm.xml files for hybrid AR/NH use.
>>>>
>>>> So what are your opinions on
>>>>
>>>> changing TransactionScope and
>>>> releasing now or first completing NH2.0 support?
>>>>
>>>> -Markus
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> >
>



-- 
Regards,
Karron

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" 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/castle-project-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to