This is the only way I could get it working. 1.Create a dictionary with all the required settings. For some reason Fluent does not set these no matter how I try. 2. When you configure nhibernate (fluentConfig.BuildConfiguration().SetProperties(DICTIONARY) you need to supply this dictionary.
IDictionary<string, string> properties = new<http://www.google.com/search?q=new+msdn.microsoft.com>Dictionary <string, string>(); properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"); properties.Add("dialect", "NHibernate.Dialect.SQLite"); properties.Add("connection.driver_class", "NHibernate.Driver.SQLite20Driver"); properties.Add("connection.connection_string", @"Data Source=D:\Projects\privat\WexioBridgen\src\Client\App_Data\wexiobridgen.db") ; var fluentConfig = Fluently.Configure() .Database(SQLiteConfiguration.Standard.UsingFile( PathToSqlLiteDb)) .Mappings(m => m.FluentMappings .Add<ClubMap>() .Add<ScheduleMap>() .Add<PersonMap>() .Add<ContactTypeMap>() .Add<ConventionRestrictionMap>() .Add<TournamentTypeMap>() .Add<TournamentMap>() .Add<ResultTypeMap>() .Add<ResultMap>() .Add<NewsMap>()) .ExposeConfiguration(BuildSchema); *var nhConfig = fluentConfig.BuildConfiguration().SetProperties( properties);* _sessionFactory = nhConfig.BuildSessionFactory(); _session = _sessionFactory.OpenSession(); 2009/7/21 Ben Hyrman <[email protected]> > > To double-check, you did copy NHibernate.ByteCode.Castle.dll to your bin, > right? > > On Tue, Jul 21, 2009 at 1:18 PM, Brian Sullivan<[email protected]> > wrote: > > > > Thanks for the replies, guys! > > > > James: I will try to create a failing test and get back to you. I > > didn't realize that FNH defaulted to the Castle proxy factory > > factory. Good to know, and a reasonable default, I think. > > > > Ben: I remember having this same problem working with the beta, so I > > doubt it's that. I decided to stick with 2.0.1 until it went GA to > > see if the problem went away, either by changes in FNH or NH itself. > > > > On Jul 21, 12:44 pm, Ben Hyrman <[email protected]> wrote: > >> Here's one that is working fine for me against 2.1 beta (haven't gone > >> to GA yet). I don't quite see where we differ.... I can go to 2.1GA > >> and see if I run into your issue > >> > >> var fluentConfig = Fluently.Configure() > >> .Database(MsSqlConfiguration.MsSql2005 > >> .ConnectionString(c => c > >> .Is("Data Source=........")) > >> > >> .ProxyFactoryFactory("NHibernate.ByteCode.LinFu.ProxyFactoryFactory, > >> NHibernate.ByteCode.LinFu") > >> .Cache(c => > >> c.ProviderClass("NHibernate.Caches.SysCache.SysCacheProvider, > >> NHibernate.Caches.SysCache")) > >> .UseReflectionOptimizer() > >> .DoNot.ShowSql()) > >> .Mappings(m => > >> { > >> m.HbmMappings.AddFromAssemblyOf<IEntity>(); > >> m.FluentMappings.AddFromAssemblyOf<IEntity>(); > >> }); > >> > >> > >> > >> On Tue, Jul 21, 2009 at 12:14 PM, James Gregory<[email protected]> > wrote: > >> > Strange. It's not a requirement, FNH defaults to using Castle for the > proxy > >> > factory factory; however, you should still be able to specify it > manually. > >> > Can you create a failing test? > >> > >> > On Tue, Jul 21, 2009 at 5:37 PM, Brian Sullivan <[email protected] > > > >> > wrote: > >> > >> >> I'm trying to convert an application I've written using FNH and > >> >> NH2.0.1GA to use the new 2.1GA libraries, but I'm running into a snag > >> >> trying to specify my proxy factory factory. My configuration looks > >> >> like this: > >> > >> >> SessionFactory = > >> >> Fluently.Configure() > >> >> .Database( > >> >> MsSqlConfiguration.MsSql2005 > >> >> .ConnectionString( > >> >> c => c.Is > >> >> (ConfigurationManager.ConnectionStrings > >> >> ["josubscriptioncb"].ConnectionString)) > >> >> .ProxyFactoryFactory > >> >> ("NHibernate.ByteCode.Castle.ProxyFactoryFactory, > >> >> NHibernate.ByteCode.Castle") > >> >> ) > >> >> .Mappings(m => > >> > >> >> m.FluentMappings.AddFromAssemblyOf<Campaign>() > >> > >> >> .ConventionDiscovery.AddFromAssemblyOf<Campaign> > >> >> ()) > >> >> .BuildConfiguration().SetProperties(new > >> >> Dictionary<string, string>() > >> >> { > >> > >> >> {"current_session_context_class", "web"} > >> >> }) > >> >> .BuildSessionFactory(); > >> > >> >> When I run the web app, I get the following exception: > >> > >> >> The ProxyFactoryFactory was not configured. > >> >> Initialize 'proxyfactory.factory_class' property of the session- > >> >> factory configuration section with one of the available > >> >> NHibernate.ByteCode providers. > >> >> Example: > >> >> <property > >> > >> >> > name='proxyfactory.factory_class'>NHibernate.ByteCode.LinFu.ProxyFactoryFac > tory, > >> >> NHibernate.ByteCode.LinFu</property> > >> >> Example: > >> >> <property > >> > >> >> > name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFa > ctory, > >> >> NHibernate.ByteCode.Castle</property> > >> > >> >> I then tried to set the property myself using SetProperties like > this: > >> > >> >> .BuildConfiguration().SetProperties(new Dictionary<string, string>() > >> >> { > >> > >> >> {"current_session_context_class", "web"}, > >> > >> >> {"proxyfactory.factory_class", > >> >> "NHibernate.ByteCode.Castle.ProxyFactoryFactory, > >> >> NHibernate.ByteCode.Castle"} > >> >> }) > >> > >> >> When I do that, though, I get a different exception: > >> > >> >> Could not find the dialect in the configuration > >> > >> >> What is the correct way to configure the proxy factory factory in > >> >> FNH? Also, should the examples on the wiki on fluentnhibernate.org > >> >> be updated to reflect this new configuration requirement? Thanks in > >> >> advance for any help you all can provide. > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
