24 messaggi dal 16 giugno 2008
Ciao a tutti,

sto provando a mappare alcune proprietà di mie entità come boolean su un Db Oracle, visto che ho necessità di bindare queste proprietà alla proprietà checked di alcune checkbox.
La cosa ottimale mi sembrava utilizzare il tipo YesNo di nhibernate.
Al momento però di recuperare l'entità ricevo il seguente errore:

"Stringa non riconosciuta come valore Boolean valido"

Il campo sul Db è impostato come varchar(1) (ho provato anche con char(1))
La proprietà sul file di mapping è impostata con type="YesNo" (ho provato anche aggiungendo length="1")
La proprietà nella classe è di tipo System.Boolean.
Linguaggio vb.net
Se imposto nel file di mapping type="System.String" e la proprietà della classe come System.String tutto funziona.

Sbaglio qualcosa nella configurazione del tipo YesNo?

Grazie a tutti.
Il sistema che usi mi sembra corretto, riesci a mandarmi la riga del file di mapping?

Grazie,
m.
24 messaggi dal 16 giugno 2008
Al momento non ho il progetto sotto mano.
Appena posso lo posto.

Grazie mille
24 messaggi dal 16 giugno 2008
Ecco uno stralcio del file di mapping dell'entità che fa uso del tipo YesNo;

<property
name="UtenteValido"
column="`UT_F_VAL`"
type="YesNo"
length="1"
>
</property>

La corrispettiva proprietà nella classe

public virtual System.Boolean UtenteValido
{
get
{
return _utenteValido;
}
set
{
if ( _utenteValido != value)
{
_utenteValido = value ;
OnPropertyChanged("UtenteValido");
}
}
}

il file di configurazione di nhibernate:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="nhibernator">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string">persist security info=True;data source=xxx; user id=xxx; password=xxx;</property>
<property name="show_sql">true</property>
<property name="prepare_sql">false</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="dialect">NHibernate.Dialect.Oracle9iDialect</property>
<property name="use_outer_join">false</property>
<property name="connection.isolation">ReadCommitted</property>
<property name="query.substitutions">True 'Y',False 'N'</property>
<mapping assembly="BOLayer" />
</session-factory>
</hibernate-configuration>

Grazie per l'interessamento
24 messaggi dal 16 giugno 2008
Come non detto...
Cancellando i files temporanei di asp.net tutto funziona.

Grazie comunque

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.