我想让NHibernate工作。我有这个类:NHibernate MappingException。没有Persister
mm.k.Domain.Kampagne
空间(namespace /组件mm.k.Domain)
在另一个Visual Studio项目(大会mm.k.Infrastructure)我得到了我的映射文件(在Mappings目录),我的hibernate.cfg.xml和一些存储库。
我的继承人映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="mm.k.Domain"
namespace="mm.k.Domain">
<class name="Kampagne" table="Kampagner">
<id name="Id">
<generator class="identity" />
</id>
<property name="Navn" not-null="true" />
<property name="Logo" />
</class>
</hibernate-mapping>
当我配置我的会议,我这样做:
_configuration.AddAssembly(typeof(mm.k.Domain.Kampagne).Assembly);
而且那是什么不行! 当调用:
var test = session.Get<Kampagne>(kampagneId);
我得到以下错误: “没有留存为:mm.k.Domain.Kampagne” 不管你喜欢不注册嵌入式映射FILD。请注意,我已将映射文件设置为Embedded Resource的构建操作。
如果我改变上述行来:
_configuration.AddFile(@"fullpath\mm.k.Infrastructure\Mappings\Kampagne.hbm.xml");
一切工作完全正常!
任何想法?提前致谢。
这样做的伎俩。谢谢!奇怪NHibernate入门教程没有提到这个? – 2009-09-21 18:59:32