Je pensais que je connaissais NHibernate, mais je dois faire quelque chose de stupide. J'ai une table/classe appelée Catégorie. Quand je tire des données de ma méthode GetAll, rien ne revient, mais il n'y a pas d'erreur non plus.NHibernate ne voit pas la table, MappingException
La classe est:
namespace Model
{
[Serializable]
public partial class Category
{
public virtual int Id { get; set; }
public virtual DateTime CreatedOn { get; set; }
public virtual DateTime UpdatedOn { get; set; }
public virtual string Name { get; set; }
public override bool Equals(object oneObject)
{
return oneObject is Category && (this.GetHashCode() == ((Category)oneObject).GetHashCode());
}
public override int GetHashCode()
{
return Id.ToString().GetHashCode();
}
}
}
fichier de mappage:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" namespace="Model" assembly="Model" xmlns="urn:nhibernate-mapping-2.2">
<class name="Category" lazy="true" table="`categories`"><!--test only!!-->
<id name="Id" access="property" column="`category_id`">
<generator class="native" />
</id>
<property name="Name" column="`name`" length="50" />
</class>
</hibernate-mapping>
Si j'ajoute beaucoup à une référence dans une autre table, il des erreurs avec: An association from the table manufacturer_categories refers to an unmapped class: Model.Category
.
Il me semble évident que NHibernate ne reconnaît pas mon fichier de mappage. Quelle chose stupide manque-t-il?
Didja vérifier des choses évidentes, comme l'ajout de la partie .hbm au fichier xml, ou en vous assurant qu'il est défini comme contenu intégré? –
@Cosmo_D - Oui, j'ai vérifié le fichier .hbm.xml. A quoi sert le "Contenu incorporé"? – scojomodena
Voir http://stackoverflow.com/questions/16340974/createsqlquery-works-but-queryover-doesnt-with-nhibernate/16377359#16377359 pour la ressource intégrée – Rippo