私は、そのすべての情報があるので、私たちは犯人を持っているべきだと思います。非常に多くの問題があります(まあ問題 実際) マッピングを使用 およびC#コード 、私たちが確かに知っていること:
場合によっては、このファイルは現状のまま NHibernateセッションファクトリで利用できる場合、この例外が発生します
これは、マッピングに名前空間属性を追加することで修正できます namespace="NhibernateORM"
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NhibernateORM"
namespace="NhibernateORM"
auto-import="true">
<class name="Layout" table="mytable">
<id name="Id" column="ID" type="int" generator="assigned" />
<property name="Name" column="name" type="String"/>
<property name="xCoordinate" column="xCoordinate" type="double" />
<property name="yCoordinate" column="yCoordinate" type="double" />
</class>
</hibernate-mapping>
それが修正されると、後でこの例外が発生します
これは、すべてのエンティティを仮想化することで修正できます:
namespace NhibernateORM
{
public class Layout
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual double xCoordinate { get; set; }
public virtual double yCoordinate { get; set; }
ですから、確かに、問題は
です。-
hibernate.cfg.xml
の設定が間違っています -
Mapping.hbm.xml
の設定が間違っています プロパティ
これはhibernate.cfg.xmlの一部である必要があります :
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
...
<mapping assembly="NhibernateORM"/>
hibernate.cfg.xml プロパティが必要です:
- ビルドアクション===コンテンツ
- 出力ディレクトリにコピー===常にコピー
Mapping.hbm.xml プロパティが必要です:
- ビルドアクション===埋め込みリソース
- 出力ディレクトリにコピー===コピーしないでください