Cette méthode est appelée. Mais si je profile SQL Server, je peux voir que NHibernate n'essaie pas d'accéder au serveur.NHibernate n'appelant pas SQL Server
Aucune erreur n'a été renvoyée. C'est juste le criteria.List()
renvoie simplement 0 lignes.
MyStuff
est une classe
public class MyStuff {
public virtual int Id { get; set; }
public virtual int x { get; set; }
... more attributes ....
public override int GetHashCode() {
return (GetType().FullName + "|" + Id.ToString()).GetHashCode();
}
}
Et MyStuff est une application HBM:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="false" assembly="MyStuff" namespace="My.Stuff" default-lazy="false">
<class name ="MyStuff" table="dbo.viewMyStuff" dynamic-update="false" lazy="false">
<cache usage="read-only"/>
<id name="Id" column="Id" type="int">
<generator class="native" />
</id>
<property name="x" />
.... other properties
</class>
</hibernate-mapping>
Les travaux suivants seulement:
select * from viewMyStuff
NHibernate fait très bien avec d'autres classes/vues dans le même projet.
En fait, si je saisis intentionnellement la "table" dans le fichier HBM à "XviewXMyStuffX" NHibernate n'a aucun problème avec la faute de frappe. Pourquoi NHibernate ignore-t-il simplement la tentative attendue pour accéder à ma vue de base de données?