Je suis en train d'obtenir une liste de tous les films de ma db comme PostgreSQL ceci:PostgreSQL avec NHibernate (.net, pgsql) Erreur requête
IQuery query = session.CreateQuery("FROM Movie");
mais obtenir cette erreur: ERREUR: 42P01: relation des films » "n'existe pas
Voici une requête que j'utilise dans pgAdminIII qui fonctionne
SELECT
"Movies"."Id",
"Movies"."Title",
"Movies"."Director",
"Movies"."ReleaseDate"
FROM
public."Movies";
Il semble que la requête est pas correct, qui est en cours de construction à partir NHibernate. Voici la configuration de web.config.
<configSections>
<section name="hibernate-configuration" requirePermission="false" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.NpgsqlDriver</property>
<property name="connection.connection_string">Server=localhost;database=Movies;User ID=movie;Password=password;</property>
<property name="dialect">NHibernate.Dialect.PostgreSQLDialect</property>
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>
Des idées?
Enclose les noms d'objets en arrière-guillemets ('') si vous devez conserver les noms de cas mixtes. –
Backtics? C'est MySQL-stuff et ne fonctionne pas dans une autre base de données. Utilisez les guillemets doubles ANSI-SQL si vous le souhaitez, tout comme l'exemple ci-dessus. –