que? un test para eso ? El 4 de septiembre de 2009 13:28, Dario Quintana < [email protected]> escribió:
> Supongo que esta es la query, o me equivoco ?: > >> NHibernate.ICriteria qry = NHSession.CreateCriteria(typeof(Prueba)); >> pruebas = qry.List<Prueba>(); >> > > Yo creo que debería generar el nombre de tu tabla exactamente igual, > podrías subir un test-case a nuestro jira http://jira.nhforge.org. > > 2009/9/4 lma <[email protected]> > > >> A continuación el código de los ficheros: >> >> ----------- Fichero PruebaService.cs >> ----------------------------------------- >> >> using System; >> using System.Collections.Generic; >> using System.Linq; >> using System.Text; >> >> namespace ClasesPrueba >> { >> public class PruebaService >> { >> public static IList<Prueba> GetTodasPruebas() >> { >> IList<Prueba> pruebas; >> using (NHibernate.ISession NHSession = >> SessionFactory.GetNewSession()) >> { >> NHibernate.ICriteria qry = NHSession.CreateCriteria >> (typeof(Prueba)); >> >> pruebas = qry.List<Prueba>(); >> } >> return pruebas; >> } >> public static void AnadirPrueba(Prueba prueba) >> { >> using (NHibernate.ISession NHSession = >> SessionFactory.GetNewSession()) >> { >> using (NHibernate.ITransaction tx = >> NHSession.BeginTransaction()) >> { >> NHSession.Save(prueba); >> tx.Commit(); >> } >> } >> } >> } >> } >> >> >> >> ---------------------------------------------------------------------------------- >> >> --------------------Fichero >> SessionFactory.cs--------------------------- >> >> using System; >> using System.Collections.Generic; >> using System.Linq; >> using System.Text; >> >> namespace ClasesPrueba >> { >> public class SessionFactory >> { >> private static NHibernate.ISessionFactory _SessionFactory; >> >> private static void Init() >> { >> NHibernate.Cfg.Configuration config; >> config = new NHibernate.Cfg.Configuration(); >> config.Configure(); >> config.AddAssembly("ClasesPrueba"); >> _SessionFactory = config.BuildSessionFactory(); >> } >> >> public static NHibernate.ISessionFactory GetSessionFactory() >> { >> if (_SessionFactory == null) >> Init(); >> return _SessionFactory; >> } >> >> public static NHibernate.ISession GetNewSession() >> { >> return GetSessionFactory().OpenSession(); >> } >> } >> } >> >> >> ------------------------------------------------------------------------------ >> >> ------------------------ Fichero Prueba.hbm.xml >> ----------------------- >> >> <?xml version="1.0" encoding="utf-8" ?> >> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >> namespace="ClasesPrueba" assembly="ClasesPrueba" schema="prueba"> >> <class name="Prueba" table="Prueba"> >> <id name="IdPrueba"> >> <column name="idPrueba" unique="true"> >> </column> >> <generator class="identity"> >> <param name="sequence">Prueba_idPrueba_seq</param> >> </generator> >> </id> >> <property name="Descripcion" type="string" not-null="true"> >> <column name="descripcion" sql-type="character varying" not- >> null="true"></column> >> </property> >> </class> >> </hibernate-mapping> >> >> >> ---------------------------------------------------------------------------------------- >> >> -------------------Fichero >> Prueba.cs--------------------------------------------- >> >> using System; >> using System.Collections.Generic; >> using System.Linq; >> using System.Text; >> >> namespace ClasesPrueba >> { >> public class Prueba >> { >> private int idPrueba; >> private string descripcion; >> virtual public int IdPrueba >> { >> get >> { >> return idPrueba; >> } >> set >> { >> idPrueba = value; >> } >> } >> virtual public string Descripcion >> { >> get >> { >> return descripcion; >> } >> set >> { >> descripcion = value; >> } >> } >> } >> } >> >> >> >> ----------------------------------------------------------------------------------------- >> >> -------------------Fichero de configuracion >> web.config------------------------------------ >> >> <?xml version="1.0" encoding="utf-8"?> >> >> <configuration> >> >> >> <configSections> >> <section name="hibernate-configuration" >> type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/> >> <sectionGroup name="system.web.extensions" >> type="System.Web.Configuration.SystemWebExtensionsSectionGroup, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"> >> <sectionGroup name="scripting" >> type="System.Web.Configuration.ScriptingSectionGroup, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"> >> <section name="scriptResourceHandler" >> type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" requirePermission="false" >> allowDefinition="MachineToApplication"/> >> <sectionGroup name="webServices" >> type="System.Web.Configuration.ScriptingWebServicesSectionGroup, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"> >> <section name="jsonSerialization" >> type="System.Web.Configuration.ScriptingJsonSerializationSection, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" requirePermission="false" >> allowDefinition="Everywhere" /> >> <section name="profileService" >> type="System.Web.Configuration.ScriptingProfileServiceSection, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" requirePermission="false" >> allowDefinition="MachineToApplication" /> >> <section name="authenticationService" >> type="System.Web.Configuration.ScriptingAuthenticationServiceSection, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" requirePermission="false" >> allowDefinition="MachineToApplication" /> >> <section name="roleService" >> type="System.Web.Configuration.ScriptingRoleServiceSection, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" requirePermission="false" >> allowDefinition="MachineToApplication" /> >> </sectionGroup> >> </sectionGroup> >> </sectionGroup> >> >> </configSections> >> >> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> >> <session-factory> >> <!-- >> <property name="format_sql">true</property> >> <property name="prepare_sql">true</property>--> >> <property name="connection.provider"> >> NHibernate.Connection.DriverConnectionProvider >> </property> >> <property name="dialect"> >> <!-- NHibernate.Dialect.MsSql2005Dialect --> >> NHibernate.Dialect.PostgreSQLDialect >> </property> >> <property name="connection.driver_class"> >> <!-- NHibernate.Driver.SqlClientDriver --> >> NHibernate.Driver.OdbcDriver >> </property> >> <property name="connection.connection_string"> >> <!-- Data Source=.\SQLEXPRESS; >> AttachDbFilename=|DataDirectory|\Tutorial.mdf; >> Integrated Security=True; >> User Instance=True --> >> >> >> Dsn=PostgreSQL30;database=prueba;server=localhost;port=5432;uid=postgres;pass=admin;sslmode=disable;readonly=0;protocol=7.4-1;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;socket=4096;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;optimizer=1;ksqo=1;usedeclarefetch=1;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;cancelasfreestmt=1;extrasystableprefixes=dd_;lfconversion=1;updatablecursors=1;disallowpremature=0;trueisminus1=0;bi=0;byteaaslongvarbinary=0;useserversideprepare=0;lowercaseidentifier=1;xaopt=1 >> >> </property> >> <property name='proxyfactory.factory_class'> >> NHibernate.ByteCode.Castle.ProxyFactoryFactory, >> NHibernate.ByteCode.Castle >> </property> >> </session-factory> >> </hibernate-configuration> >> >> <appSettings/> >> <connectionStrings/> >> >> <system.web> >> <!-- >> Establezca debug="true" en la compilación para insertar >> símbolos >> de depuración en la página compilada. Dado que este >> proceso afecta al rendimiento, debe establecer este valor >> como true >> durante la depuración. >> --> >> <compilation debug="false"> >> >> <assemblies> >> <add assembly="System.Core, Version=3.5.0.0, >> Culture=neutral, PublicKeyToken=B77A5C561934E089"/> >> <add assembly="System.Data.DataSetExtensions, >> Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> >> <add assembly="System.Web.Extensions, Version=3.5.0.0, >> Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> >> <add assembly="System.Xml.Linq, Version=3.5.0.0, >> Culture=neutral, PublicKeyToken=B77A5C561934E089"/> >> </assemblies> >> >> </compilation> >> <!-- >> La sección <authentication> habilita la configuración >> del modo de autenticación de seguridad utilizado por >> ASP.NET para identificar a un usuario entrante. >> --> >> <authentication mode="Windows" /> >> <!-- >> La sección <customErrors> habilita la configuración de >> las acciones que se deben realizar si un error no >> controlado tiene lugar >> durante la ejecución de una solicitud. Específicamente, >> permite a los desarrolladores configurar páginas de error >> html >> que se mostrarán en lugar de un seguimiento de pila de >> errores. >> >> <customErrors mode="RemoteOnly" >> defaultRedirect="GenericErrorPage.htm"> >> <error statusCode="403" redirect="NoAccess.htm" /> >> <error statusCode="404" redirect="FileNotFound.htm" /> >> </customErrors> >> --> >> >> <pages> >> <controls> >> <add tagPrefix="asp" namespace="System.Web.UI" >> assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> <add tagPrefix="asp" namespace="System.Web.UI.WebControls" >> assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> </controls> >> </pages> >> >> <httpHandlers> >> <remove verb="*" path="*.asmx"/> >> <add verb="*" path="*.asmx" validate="false" >> type="System.Web.Script.Services.ScriptHandlerFactory, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> <add verb="*" path="*_AppService.axd" validate="false" >> type="System.Web.Script.Services.ScriptHandlerFactory, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> <add verb="GET,HEAD" path="ScriptResource.axd" >> type="System.Web.Handlers.ScriptResourceHandler, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" validate="false"/> >> </httpHandlers> >> <httpModules> >> <add name="ScriptModule" >> type="System.Web.Handlers.ScriptModule, System.Web.Extensions, >> Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> >> </httpModules> >> >> </system.web> >> >> <system.codedom> >> <compilers> >> <compiler language="c#;cs;csharp" extension=".cs" >> warningLevel="4" >> type="Microsoft.CSharp.CSharpCodeProvider, System, >> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> >> <providerOption name="CompilerVersion" value="v3.5"/> >> <providerOption name="WarnAsError" value="false"/> >> </compiler> >> </compilers> >> </system.codedom> >> >> <!-- >> La sección system.webServer es necesaria para ejecutar >> ASPN.NET AJAX en Internet >> Information Services 7.0. No es necesaria para la versión >> anterior de IIS. >> --> >> <system.webServer> >> <validation validateIntegratedModeConfiguration="false"/> >> <modules> >> <remove name="ScriptModule" /> >> <add name="ScriptModule" preCondition="managedHandler" >> type="System.Web.Handlers.ScriptModule, System.Web.Extensions, >> Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> >> </modules> >> <handlers> >> <remove name="WebServiceHandlerFactory-Integrated"/> >> <remove name="ScriptHandlerFactory" /> >> <remove name="ScriptHandlerFactoryAppServices" /> >> <remove name="ScriptResource" /> >> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" >> preCondition="integratedMode" >> type="System.Web.Script.Services.ScriptHandlerFactory, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> <add name="ScriptHandlerFactoryAppServices" verb="*" >> path="*_AppService.axd" preCondition="integratedMode" >> type="System.Web.Script.Services.ScriptHandlerFactory, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35"/> >> <add name="ScriptResource" preCondition="integratedMode" >> verb="GET,HEAD" path="ScriptResource.axd" >> type="System.Web.Handlers.ScriptResourceHandler, >> System.Web.Extensions, Version=3.5.0.0, Culture=neutral, >> PublicKeyToken=31BF3856AD364E35" /> >> </handlers> >> </system.webServer> >> >> <runtime> >> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> >> <dependentAssembly> >> <assemblyIdentity name="System.Web.Extensions" >> publicKeyToken="31bf3856ad364e35"/> >> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" >> newVersion="3.5.0.0"/> >> </dependentAssembly> >> <dependentAssembly> >> <assemblyIdentity name="System.Web.Extensions.Design" >> publicKeyToken="31bf3856ad364e35"/> >> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" >> newVersion="3.5.0.0"/> >> </dependentAssembly> >> </assemblyBinding> >> </runtime> >> >> </configuration> >> >> >> >> ---------------------------------------------------------------------------------------------- >> >> >> >> On 4 sep, 18:05, Dario Quintana <[email protected]> wrote: >> > Hola >> > >> > Podrías mandarnos la consulta y cómo la estás realizando ? >> > >> > Saludos >> > >> > 2009/9/4 lma <[email protected]> >> > >> > >> > >> > > Buenas >> > >> > > adjunto parte del código del fichero de mapeo: >> > >> > > <class name="Prueba" table="Prueba"> >> > >> > > imaginaos que deseo mostrar todas las Pruebas que hay, cuando >> > > NHibernate le pasa la consulta a Postgre, éste ejecuta la consulta >> > > buscando la tabla "prueba" en vez de buscar "Prueba". ¿Cómo se >> > > soluciona esto? >> > >> > -- >> > Dario Quintanahttp://darioquintana.com.ar >> >> >> > > > -- > Dario Quintana > > http://darioquintana.com.ar > > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
