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 -~----------~----~----~----~------~----~------~--~---
