Je dirais, parce que toutes ces informations, nous devrions avoir un coupable. Il y a tellement de problèmes (enfin des problèmes en fait) avec le cartographie et code C# , que nous savons à coup sûr :
Au cas où ce fichier tel quel serait disponible pour l'usine de session NHibernate, nous obtiendrions cette exception
Ce qui pourrait être corrigé en ajoutant l'attribut d'espace de noms au mappage 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>
Une fois que cela serait corrigé, nous obtiendrions plus tard cette exception
qui pourrait être corrigé en rendant virtuels tous les éléments de l'entité :
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; }
Donc, bien sûr, nous savons - le problème est
- mauvaise configuration dans le
hibernate.cfg.xml
- mauvaise configuration du
Mapping.hbm.xml
propriétés
Cela devrait faire partie du hibernate.cfg.xml :
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
...
<mapping assembly="NhibernateORM"/>
le hibernate.cfg.xml doit avoir des propriétés :
- Construire une action ===Contenu
- Copier dans le répertoire de sortie ===Toujours copier
le Mapping.hbm.xml doit avoir des propriétés :
- Action de création ===ressource intégrée
- Copier dans le répertoire de sortie ===Ne pas copier