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
--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---