Thanks Karron, I'd never thought of that situation. I've applied your patch,
good work!

On Wed, Feb 18, 2009 at 3:09 AM, Karron Qiu <[email protected]> wrote:

> Here is my patch for ExposeConfiguration, please have a look.
>
> On Wed, Feb 18, 2009 at 10:12 AM, Karron Qiu <[email protected]> wrote:
> > Sorry for my bad English, that confused you.
> >
> > I have two reasons here.
> >
> > 1. ExposeConfiguration method can't be called many times. It's an
> > delegate , not a list that contains delegates. If I call this method
> > many times, only the last one will be executed. Because I have some
> > plugins for nh initialization, I don't know how many are them at
> > runtime, so I can't mix them in one method. I think that
> > ExposeConfiguration supports many calls will be very helpful. The
> > codes may looks like below.
> >
> >
> > private IList<Action<Configuration>> configAlterations = new
> > List<Action<Configuration>>();
> > public FluentConfiguration ExposeConfiguration(Action<Configuration>
> config)
> >        {
> >            if(config != null)
> >                  configAlterations.Add(config);
> >            return this;
> >        }
> >
> >
> > public ISessionFactory BuildSessionFactory()
> >        {
> >            try
> >            {
> >                mappingCfg.Apply(Configuration);
> >
> >                foreach (var configAlteration in configAlterations )
> >                    configAlteration(Configuration);
> >
> >                return Configuration.BuildSessionFactory();
> >            }
> >            catch (Exception ex)
> >            {
> >                throw CreateConfigurationException(ex);
> >            }
> >        }
> >
> > 2. Yes, I want to use the Configuration object later.  The James's
> > patch solved my problem. thank you.
> >
> >
> >
> > On Tue, Feb 17, 2009 at 8:00 PM, James Gregory <[email protected]>
> wrote:
> >>
> >> Calm it Kermit. I'm not against having a constructor overload, I'll do
> >> that next time I'm in there.
> >>
> >> As for exposing the property, I'd prefer not to because it's polluting
> >> the API, but I'm not that fussed. All I wanted to know was why he said
> >> he couldn't use the ExposeConfiguration; not didn't want to, or felt
> >> it was unintuitive, but can't use it.
> >>
> >> On 2/17/09, Paul Batum <[email protected]> wrote:
> >>> Just wanted to add that I recognise you can get a reference to it using
> >>> Tuna's trick with the closure but I think its highly unintuitive.
> >>>
> >>> On Tue, Feb 17, 2009 at 9:34 PM, Paul Batum <[email protected]>
> wrote:
> >>>
> >>>> James, is there a reason you don't want to expose the Configuration?
> What
> >>>> if someone wants to do something with it after the session factory is
> >>>> built?
> >>>> It seems perfectly reasonable to me for the getter to be public.
> >>>>
> >>>> Also, I wanted to add an overload to Fluently.Configure that takes an
> >>>> existing Configuration object, there was one user that said this would
> >>>> make
> >>>> life much easier for him. Do you have a problem with this?
> >>>>
> >>>>
> >>>> On Tue, Feb 17, 2009 at 9:23 PM, James Gregory
> >>>> <[email protected]>wrote:
> >>>>
> >>>>> Why can't you use the ExposeConfiguration method? Some explanation
> would
> >>>>> help.
> >>>>>
> >>>>>
> >>>>> On Tue, Feb 17, 2009 at 7:33 AM, Karron Qiu <[email protected]>
> wrote:
> >>>>>
> >>>>>>
> >>>>>> Thank you.
> >>>>>>
> >>>>>> On Tue, Feb 17, 2009 at 3:28 PM, Tuna Toksoz <[email protected]>
> wrote:
> >>>>>> >             Configuration cfg;
> >>>>>> >             var fconfig=Fluently.Configure().ExposeConfiguration(x
> =>
> >>>>>> cfg =
> >>>>>> > x);
> >>>>>> >             PlayWithCfgHere
> >>>>>> >             var sf = fconfig.BuildSessionFactory();
> >>>>>> >
> >>>>>> >
> >>>>>> > Or simple call ExposeConfiguration(Action<NHConfig>) to
> >>>>>> modify/dowhatever
> >>>>>> > using a delegate.
> >>>>>> >
> >>>>>> > Tuna Toksöz
> >>>>>> > http://tunatoksoz.com
> >>>>>> > http://turkiyealt.net
> >>>>>> > http://twitter.com/tehlike
> >>>>>> >
> >>>>>> > Typos included to enhance the readers attention!
> >>>>>> >
> >>>>>> >
> >>>>>> >
> >>>>>> > On Tue, Feb 17, 2009 at 9:22 AM, Karron Qiu <[email protected]>
> >>>>>> wrote:
> >>>>>> >>
> >>>>>> >> I just want to get the Configuration object from
> >>>>>> >> Fluently.Configure().
> >>>>>> >> Or can I pass a Configuration object to Fluently.Configure() ?
> >>>>>> >>
> >>>>>> >> Thanks
> >>>>>> >>
> >>>>>> >> On Tue, Feb 17, 2009 at 3:15 PM, Tuna Toksoz <[email protected]>
> >>>>>> wrote:
> >>>>>> >> > Fluently.Configure()
> >>>>>> >> >   .Database(/* your database settings */)
> >>>>>> >> >   .Mappings(/* your mappings */)
> >>>>>> >> >   .ExposeConfiguration(/* alter Configuration */) // optional
> >>>>>> >> >   .BuildSessionFactory();
> >>>>>> >> >
> >>>>>> >> > says the post on James blog?
> >>>>>> >> >
> >>>>>> >> > Tuna Toksöz
> >>>>>> >> > http://tunatoksoz.com
> >>>>>> >> > http://turkiyealt.net
> >>>>>> >> > http://twitter.com/tehlike
> >>>>>> >> >
> >>>>>> >> > Typos included to enhance the readers attention!
> >>>>>> >> >
> >>>>>> >> >
> >>>>>> >> >
> >>>>>> >> > On Tue, Feb 17, 2009 at 9:11 AM, Karron Qiu <
> [email protected]>
> >>>>>> wrote:
> >>>>>> >> >>
> >>>>>> >> >> There is a property in FluentConfiguration, but it is
> internal...
> >>>>>>  I
> >>>>>> >> >> want to hold the Configuration in my application because of
> some
> >>>>>> >> >> reasons. I can't use the ExposeConfiguration method.
> >>>>>> >> >>
> >>>>>> >> >> --
> >>>>>> >> >> Regards,
> >>>>>> >> >> Karron
> >>>>>> >> >>
> >>>>>> >> >>
> >>>>>> >> >
> >>>>>> >> >
> >>>>>> >> > >
> >>>>>> >> >
> >>>>>> >>
> >>>>>> >>
> >>>>>> >>
> >>>>>> >> --
> >>>>>> >> Regards,
> >>>>>> >> Karron
> >>>>>> >>
> >>>>>> >>
> >>>>>> >
> >>>>>> >
> >>>>>> > >
> >>>>>> >
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Regards,
> >>>>>> Karron
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> >>
> >>>>>
> >>>>
> >>>
> >>> >
> >>>
> >>
> >> >>
> >>
> >
> >
> >
> > --
> > Regards,
> > Karron
> >
>
>
>
> --
> Regards,
> Karron
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" 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/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to