【发布时间】:2011-10-13 12:27:03
【问题描述】:
我正在尝试让 NHibernate 工作。我有这门课:
mm.k.Domain.Kampagne
(命名空间/程序集是 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>
当我配置会话时,我会这样做:
_configuration.AddAssembly(typeof(mm.k.Domain.Kampagne).Assembly);
那是行不通的! 调用时:
var test = session.Get<Kampagne>(kampagneId);
我收到以下错误: “没有持久性:mm.k.Domain.Kampagne” 就像它没有注册嵌入式映射文件一样。请注意,我将映射文件的构建操作设置为嵌入式资源。
如果我将上面的行更改为:
_configuration.AddFile(@"fullpath\mm.k.Infrastructure\Mappings\Kampagne.hbm.xml");
一切正常!
有什么想法吗?提前致谢。
【问题讨论】:
标签: nhibernate nhibernate-mapping