背景:
我试图使用nHibernate时遇到映射失败.该应用程序由几个程序集组成.其中一个程序集是一个有用的例程库,另一个是使用该库的应用程序代码.库程序集将自身添加到nHibernate配置中,但由于它不了解其他程序集,因此不会添加它们.我的xml映射文件位于应用程序程序集中.我认为它没有找到它,因为它没有查看应用程序集.
问题: 您是否可以映射到任意程序集中的类而不将其添加到配置中?
如果没有,您可以在运行时添加映射吗?
谢谢
ps我确实确保映射文件被标记为嵌入式资源
更新 - 2009年4月3日
我更改了底层库以允许在初始化时添加程序集.这似乎很有效.
您可以在构建会话工厂时在运行时添加映射:
ISessionFactory sf = new Configuration() .AddFile("Item.hbm.xml") .AddFile("Bid.hbm.xml") .BuildSessionFactory();
或与组件:
ISessionFactory sf = new Configuration() .AddAssembly("NHibernate.Auction") .BuildSessionFactory();