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