FluentConfigurationException未处理
创建SessionFactory时使用了无效或不完整的配置。检查PotentialReasons集合,以及InnerException以获取更多详细信息。
我的SessionFactory方法:
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008 //
.ConnectionString(@"Server=.\SQLExpress;Database=testdb1;Uid=dev;Pwd=123;"))
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(true, true))
.BuildSessionFactory();
内部例外是:
在配置代理工厂类时无法加载类型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'。
可能的原因是:
未部署NHibernate.Bytecode提供程序程序集。
用于初始化会话工厂部分的“proxyfactory.factory_class”属性的typeName格式不正确。
解决方案:
确认您的部署文件夹包含以下程序集之一:
NHibernate.ByteCode.LinFu.dll
NHibernate.ByteCode.Castle.dll
我正在控制台应用程序中测试。我的控制台应用程序引用了我的数据项目,它包含我所有的nhibernate实体/映射和sessionfactory代码。
Data项目在/ bin / debug文件夹中包含以下内容:
Castle.core.dll, FluentNHibernate.dll, Iesi.COllection.dll, NHibernate.ByteCode.Castle.dll, NHibernate.dll
我今天从http://fluentnhibernate.org/下载了所有的.dll(因此使用nhibernate 3.1,它的流畅度为1.2)
答案 0 :(得分:3)
我认为你必须在你的控制台应用程序中添加对NHibernate.ByteCode.Castle.dll的引用。