thanks for the poiinter :)

how do i register more than one IConfigurationBuilder with the
facility config tho?


On Mon, Oct 19, 2009 at 11:16 AM, Valeriu Caraulean <[email protected]> wrote:
>
> So, you want to use FluentNHibernate to configure factories built via
> NHIntegration facility.
>
> What I would try to do:
>
>  1. Create a IConfigurationContributor for each of your domains.
>  2. Check in contributors the name/factory-id to modify only the right
> configuration
>  3. Modify the configuration with FluentNHibernate.
>
> This is just one way to achieve it.
>
> On Mon, Oct 19, 2009 at 11:49 AM, Wayne Douglas <[email protected]> wrote:
>>
>> hey - cheers for looking at this with me.
>>
>> not very experienced with nhib - i thought the assembly definition in
>> the xml would point the factory to one assembly so it would only push
>> the resulting sql creation scripts to that one db. i thought the one
>> in the c# was just there to bootstrap it all.
>>
>> so i need to have 2 separate config builders?
>>
>> how do i wire one up with one factory configuration and the other with
>> the other configuration?
>>
>> On Sun, Oct 18, 2009 at 12:22 PM, Valeriu Caraulean <[email protected]> 
>> wrote:
>>>
>>> You have specified assemblies related to each session factory in XML
>>> configuration. Why you do that again in code?
>>>
>>> Your configuration builder adds two assemblies. Are those assemblies
>>> each for different domain? Then why you're adding them both to
>>> configuration?
>>>
>>>
>>> On Sat, Oct 17, 2009 at 12:53 PM, Wayne Douglas <[email protected]> 
>>> wrote:
>>>>
>>>> very strange :s
>>>>
>>>> here is my config builder:
>>>>
>>>> <code>
>>>>
>>>> public class FluentNHibernateConfigurationBuilder : IConfigurationBuilder
>>>>   {
>>>>       #region IConfigurationBuilder Members
>>>>
>>>>       public Configuration GetConfiguration(IConfiguration
>>>> facilityConfiguration)
>>>>       {
>>>>           var defaultConfigurationBuilder = new 
>>>> DefaultConfigurationBuilder();
>>>>           Configuration configuration =
>>>> defaultConfigurationBuilder.GetConfiguration(facilityConfiguration);
>>>>
>>>>           var models = new PersistenceModel();
>>>>           models.AddMappingsFromAssembly(typeof(Provider).Assembly);
>>>>           models.AddMappingsFromAssembly(typeof(Report).Assembly);
>>>>           models.Conventions.Add(typeof(ForeignKeyConventionOverride));
>>>>           models.Configure(configuration);
>>>>
>>>>           if (AppSettings.GetConfigurationBoolean("RebuildDb", false))
>>>>           {
>>>>               var export = new SchemaExport(configuration);
>>>>               var sb = new StringBuilder();
>>>>               TextWriter output = new StringWriter(sb);
>>>>               export.Drop(true, true);
>>>>               export.Execute(true, false, false, null, output);
>>>>               export.Create(true, true);
>>>>           }
>>>>
>>>>           return configuration;
>>>>       }
>>>>
>>>>       #endregion
>>>>   }
>>>>
>>>> </code>
>>>>
>>>> any help?
>>>>
>>>> obv the classes Provider and Report come from 2 seperate assemblies
>>>> and this config builder lives inside my web project which has
>>>> references to both.
>>>>
>>>> w://
>>>>
>>>> On Fri, Oct 16, 2009 at 11:08 PM, Valeriu Caraulean <[email protected]> 
>>>> wrote:
>>>>>
>>>>> The config looks ok.
>>>>> Are you sure your code is correct?
>>>>>
>>>>> On Fri, Oct 16, 2009 at 10:06 PM, Wayne Douglas <[email protected]> 
>>>>> wrote:
>>>>>>
>>>>>> so... still not got this working :(
>>>>>>
>>>>>> here is the actual config i'm using:
>>>>>>
>>>>>> <code>
>>>>>>
>>>>>> <castle>
>>>>>>  <components>
>>>>>>   <component id="GenericRepository" type="Ideal.Web.Repository`1, 
>>>>>> Ideal.Web"/>
>>>>>>  </components>
>>>>>>  <facilities>
>>>>>>   <facility id="nhibernate"
>>>>>>             isWeb="true"
>>>>>>             
>>>>>> type="Castle.Facilities.NHibernateIntegration.NHibernateFacility,
>>>>>>  Castle.Facilities.NHibernateIntegration"
>>>>>>             
>>>>>> configurationBuilder="Ideal.Rttm.Web.FluentNHibernateConfigurationBuilder,
>>>>>> Ideal.Rttm.Web">
>>>>>>
>>>>>>     <factory id="nhibernate.factory.session1">
>>>>>>       <settings>
>>>>>>         <item key="show_sql">true</item>
>>>>>>         <item key="connection.provider">
>>>>>>           NHibernate.Connection.DriverConnectionProvider
>>>>>>         </item>
>>>>>>         <item key="connection.driver_class">
>>>>>>           NHibernate.Driver.SqlClientDriver
>>>>>>         </item>
>>>>>>         <item key="connection.connection_string">
>>>>>>           Data Source=.;Initial Catalog=Reporting1;User 
>>>>>> Id=sa;Password=xxx;
>>>>>>         </item>
>>>>>>         <item key="dialect">
>>>>>>           NHibernate.Dialect.MsSql2005Dialect
>>>>>>         </item>
>>>>>>         <item key="proxyfactory.factory_class">
>>>>>>           NHibernate.ByteCode.Castle.ProxyFactoryFactory,
>>>>>> NHibernate.ByteCode.Castle
>>>>>>         </item>
>>>>>>       </settings>
>>>>>>       <assemblies>
>>>>>>         <assembly>Ideal.Rttm.Model</assembly>
>>>>>>       </assemblies>
>>>>>>     </factory>
>>>>>>
>>>>>>     <factory id="nhibernate.factory.session2" alias="reporting">
>>>>>>       <settings>
>>>>>>         <item key="show_sql">true</item>
>>>>>>         <item key="connection.provider">
>>>>>>           NHibernate.Connection.DriverConnectionProvider
>>>>>>         </item>
>>>>>>         <item key="connection.driver_class">
>>>>>>           NHibernate.Driver.SqlClientDriver
>>>>>>         </item>
>>>>>>         <item key="connection.connection_string">
>>>>>>           Data Source=.;Initial Catalog=Reporting2;User 
>>>>>> Id=sa;Password=xxx;
>>>>>>         </item>
>>>>>>         <item key="dialect">
>>>>>>           NHibernate.Dialect.MsSql2005Dialect
>>>>>>         </item>
>>>>>>         <item key="proxyfactory.factory_class">
>>>>>>           NHibernate.ByteCode.Castle.ProxyFactoryFactory,
>>>>>> NHibernate.ByteCode.Castle
>>>>>>         </item>
>>>>>>       </settings>
>>>>>>       <assemblies>
>>>>>>         <assembly>Ideal.Reporting.Model</assembly>
>>>>>>       </assemblies>
>>>>>>     </factory>
>>>>>>
>>>>>>   </facility>
>>>>>>   <facility id="atm"
>>>>>> type="Castle.Facilities.AutomaticTransactionManagement.TransactionFacility,
>>>>>> Castle.Facilities.AutomaticTransactionManagement" />
>>>>>>  </facilities>
>>>>>> </castle>
>>>>>>
>>>>>> </code>
>>>>>>
>>>>>> has anyone used the nh facility to do this?
>>>>>>
>>>>>> On Thu, Oct 15, 2009 at 3:48 PM, Valeriu Caraulean <[email protected]> 
>>>>>> wrote:
>>>>>>>
>>>>>>> Different connection strings?
>>>>>>> I mean, are they different?
>>>>>>>
>>>>>>> On Thu, Oct 15, 2009 at 11:49 AM, Wayne Douglas <[email protected]> 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> I'm using the nh facility to configure the following setup:
>>>>>>>>
>>>>>>>> i have 1 database which stores generic report configuration.
>>>>>>>> and another which stores the actual report data.
>>>>>>>>
>>>>>>>> i also have 1 project for interacting with the report configuration
>>>>>>>> database (entities and mappings etc)
>>>>>>>> and another for interacting with the report data database  (entities
>>>>>>>> and mappings etc).
>>>>>>>>
>>>>>>>> i've used the following to create 2 factories:
>>>>>>>>
>>>>>>>> <code>
>>>>>>>>
>>>>>>>> <facilities>
>>>>>>>>  <facility id="nhibernate">
>>>>>>>>    <factory id="nhibernate.factory.session1">
>>>>>>>>      ...
>>>>>>>>      <assemblies>
>>>>>>>>        <assembly>ReportData.Model</assembly>
>>>>>>>>      </assemblies>
>>>>>>>>    </factory>
>>>>>>>>
>>>>>>>>    <factory id="nhibernate.factory.session2" alias="reporting">
>>>>>>>>      ...
>>>>>>>>      <assemblies>
>>>>>>>>        <assembly>Reporting.Model</assembly>
>>>>>>>>      </assemblies>
>>>>>>>>    </factory>
>>>>>>>>  </facility>
>>>>>>>> </facilities>
>>>>>>>>
>>>>>>>> <code>
>>>>>>>>
>>>>>>>> the problem is is that even though nhibernate.factory.session1 and
>>>>>>>> nhibernate.factory.session2 are looking at different databases and
>>>>>>>> have different assemblies configured it always seems to create the
>>>>>>>> tables for both models in both DBs?
>>>>>>>>
>>>>>>>> how do i tell nhibernate.factory.session1 to look at db1 and model1
>>>>>>>> and nhibernate.factory.session2 to look at db2 and model2?
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> w://
>>>>>>>>
>>>>>>>> >
>>>>>>>>
>>>>>>>
>>>>>>> >
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Cheers,
>>>>>>
>>>>>> w://
>>>>>>
>>>>>> >
>>>>>>
>>>>>
>>>>> >
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cheers,
>>>>
>>>> w://
>>>>
>>>> >
>>>>
>>>
>>> >
>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>>
>> w://
>>
>> >
>>
>
> >
>
>



-- 
Cheers,

w://

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" 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/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to