Jeg vil sige, fordi al den information burde vi have en skyldig. Der er så mange problemer (vel problemer faktisk) med kortlægningen og C#-kode , som vi helt sikkert ved:
I tilfælde af at denne fil som den er ville være tilgængelig for NHibernate session factory, ville vi få denne undtagelse
Hvilket kunne rettes ved at tilføje navneområdeattribut til kortlægning 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>
Når det var rettet, ville vi senere få denne undtagelse
hvilket kunne rettes ved at gøre alle Entity-ting virtuelle:
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; }
Så det ved vi helt sikkert - problemet er
- forkert konfiguration i
hibernate.cfg.xml
- forkert konfiguration af
Mapping.hbm.xml
egenskaber
Dette bør være en del af 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 skal have egenskaber:
- Byg handling ===Indhold
- Kopier til Output Directory ===Kopiér altid
Mapping.hbm.xml skal have egenskaber:
- Byg handling ===Integreret ressource
- Kopier til Output Directory ===Kopier ikke