Dmitri Maximov (Xtensive) wrote:
As we were targeted PostSharp 2 in DataObjects.Net 4.3, it was a good time to rewrite our persistent aspects. And we did so, making them faster, simpler and more adequate. So, yes, this was an intentional change.
As for Transactional aspect, it is applied automatically to all members of SessionBound class inheritors whenever they are public or private, methods or properties. Moreover, it can be used with other types (non SessionBound descendants) and even static ones by manual application of the attribute on the desired class or member.
In order to stop a member from being a transactional one you can use NonTransactional attribute. This can be applied for members only.
Hope that helps.
Alex (Xtensive) wrote:
Sorry for disinformation, the described behavior is almost 100% a mistake - we just discussed this.
Most likely, we'll return back to old case (only public methods will be transactional by default) ASAP, although we consider allow you to override this on class level.
Btw, there are some other mistakes related to application of aspects in this version. E.g. [Infrastructure] is ignored by [Transacitonal] - this affects on performance (the same is about application of these aspects to private\internal methods). So tomorrow we'll discuss the changes, implement them and publish a new update.
answered
May 18 '10 at 13:40
Editor
46●156●156●157