Hi,
I have the following requirement:
I need to introduce the concept of "Mode of execution" in my application:
* Certain classes provide a Mode property.
* The instances of this classes will be only visible when the current
application Mode of execution is equal to its Mode property value.
* New instances need to be asigned the current Mode of execution before
persisting them.
Currently my services call catRepository.GetAll() and this get traduced to
hql "from Cat". I see 2 options here:
* implementing the requirement in the application layer means that the
services need to be changed to use catRepository.GetAllWithMode(mode)
explicitly (lots of places to modify)
* implementing the requirement in the domain/data layer in a generic way
means that the GetAll() call would be traduce to hql "from Cat c where
c.Mode = currentMode"
I've been thinking in the following solution:
public interface IModeAware
{
Mode Mode { get; set; }
}
Using interceptors or event listeners I would asign the current Mode of
execution to every implementor of IModeAware before persisting it.
My problem is to query those classes... I've thought about using filters but
I've found 2 minor issues:
1. I haven't found a way to enable/disable a filter at SessionFactory scope,
it needs to be done for each Session that is created.
2. I need to define the same filter in the mapping of each class
implementing IModoAware (is there any way to specify polymorphic filters?)
To sum up, as I've never used these features before I'm looking for some
advice about whether this approach will get me into trouble (that I'm not
seeing) or if I should be ok.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---