NHibernate MappingException.没有毅力

Tom*_*sen 1 nhibernate nhibernate-mapping

我正在努力让NHibernate工作.我有这门课:

mm.k.Domain.Kampagne
Run Code Online (Sandbox Code Playgroud)

(命名空间/程序集是mm.k.Domain)

在另一个Visual Studio项目(Assembly 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>
Run Code Online (Sandbox Code Playgroud)

当我配置会话时,我这样做:

_configuration.AddAssembly(typeof(mm.k.Domain.Kampagne).Assembly);
Run Code Online (Sandbox Code Playgroud)

那就是什么都行不通!致电时:

var test = session.Get<Kampagne>(kampagneId);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:"没有持久性:mm.k.Domain.Kampagne"就像它没有注册嵌入式映射fild.请注意,我对映射文件的构建操作设置为Embedded Resource.

如果我将以上行更改为:

_configuration.AddFile(@"fullpath\mm.k.Infrastructure\Mappings\Kampagne.hbm.xml");
Run Code Online (Sandbox Code Playgroud)

一切都很好!

有任何想法吗?提前致谢.

Eug*_*ica 7

如果有人像我一样在Hibernate.NET中遇到这个问题.确保在"属性"窗口中选择" Build Action"文件作为"Embedded Resource".