Filters would be perfect if the condition in the filter-def would be
applied automatically so you only have to call DisableFilter(...) if
desired.

On Aug 13, 9:37 am, rhartzog <[email protected]> wrote:
> Wow, what a neat feature, thanks for pointing me to it.  I think this
> is perfect and very powerful.
>
> On Aug 13, 9:32 am, Jason Meckley <[email protected]> wrote:
>
>
>
> > you define the filter once, but you will need to include it with for
> > any mapping that would be effected by the filter. for example
> > <filter-def name="IsActive" condition="Active = :active" />
> >    <param name="active" type="bool" />
> > </filter-def>
>
> > <class name="Customer">
> >    ...
> >    <filter name="IsActive" />
> > </class>
>
> > here is an example of overriding the condition
> > <class name="Order">
> >    ...
> >    <filter name="IsActive" condition="Invoiced != :active" />
> > </class>
>
> > this is all from memory, so there are probably errors, but that's the
> > idea anyway.
> > usage would look like this:
>
> > session.EnableFilter("IsActive").SetParameter("active", true);
>
> > var activeCustomers = session.CreateQuery("from
> > Customer").List<Customer>();
> > var openOrders = session.CreateQuery("from Order").List<Order>();
>
> > session.DisableFilter("IsActive");
>
> > var AllCustomers = session.CreateQuery("from
> > Customer").List<Customer>();
>
> > which would produce sql
> > select * from Customer where Active = 1
> > select * from Order where Invoiced <> 1
> > select * from Customer
>
> > On Aug 13, 10:19 am, Diego Mijelshon <[email protected]> wrote:
>
> > > I believe you can do it just once.
>
> > >     Diego
>
> > > On Fri, Aug 13, 2010 at 11:15, rhartzog <[email protected]> wrote:
> > > > Thanks Diego,
>
> > > > One thing that is unclear in the documentation: I assume the answer is
> > > > yes, but just making sure, do you have to define a filter in each
> > > > mapping file or can you define it in one mapping file and reference it
> > > > from any other mapping file?
>
> > > > On Aug 13, 8:57 am, Diego Mijelshon <[email protected]> wrote:
> > > > > Ryan,
>
> > > > > You might want to look into Filters instead:
> > > >http://nhforge.org/doc/nh/en/index.html#filters
>
> > > > >     Diego
>
> > > > > On Fri, Aug 13, 2010 at 09:25, rhartzog <[email protected]> wrote:
> > > > > > I hear you Dan, that is how I currently do it, just makes it messy. 
> > > > > > If
> > > > > > I need to get a related collection through lazy loading I have to
> > > > > > filter the children which adds more stink.  .children().where(c =>
> > > > > > c.IsDeleted == false) just gets a bit redundant.  I was hoping to 
> > > > > > just
> > > > > > specify when I DO want them since that happens in far fewer 
> > > > > > locations
> > > > > > of the code.
>
> > > > > > Appreciate the suggestion,
> > > > > > Ryan
>
> > > > > > On Aug 13, 3:57 am, Dan B <[email protected]> wrote:
> > > > > > > I handle IsDeleted filtering in my Repositories for this reason.
>
> > > > > > > On Aug 12, 4:50 pm, rhartzog <[email protected]> wrote:
>
> > > > > > > > Alright, thank you Jason.
>
> > > > > > > > On Aug 12, 10:40 am, Jason Meckley <[email protected]> 
> > > > > > > > wrote:
>
> > > > > > > > > I don't think you can override the where clause. if you need
> > > > > > > > > conditional criteria i would go with explicit queries/criteria
> > > > > > objects
> > > > > > > > > or filters.
>
> > > > > > > > > On Aug 12, 10:49 am, rhartzog <[email protected]> wrote:
>
> > > > > > > > > > When using the where filter on the mapping file is it 
> > > > > > > > > > possible
> > > > to
> > > > > > > > > > override this?  If I want to list the deleted entities to an
> > > > admin
> > > > > > so
> > > > > > > > > > he/she can reactivate it.  Is this possible?  I saw comments
> > > > from
> > > > > > > > > > Gabriel in his soft delete post that say it is not, but that
> > > > was
> > > > > > from
> > > > > > > > > > 2008 and thought I would see if anything has changed.
>
> > > > > > > > > > Thank you
>
> > > > > > --
> > > > > > 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%252bunsubscr...@googlegroup
> > > >  s.com>>
> > > > > > .
> > > > > > 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