Hola gente, Angel...

Ando un poco perdido por la diferencia de horario y por la carga de trabajo que 
me ha tocado asumir.. te dejo aca la idea de lo que planteo..

Cuando hablo de nulleables en los campos que admiten null, no trae ninguna 
modificación al HBM, pero si a la entidad, ya que si tenemos un int que admite 
null en nuestra base de datos, nuestra entidad debia declararlo como int? para 
poder usar null en esa propiedad.

Si la propiedad no admite null pues yo normalmente lo que hago es validar el 
valor que se va a asignar antes de hacer el set de cualquier propiedad.. esto 
se justifica más frente a tipos string o frente a mapeos one-to-one. Por 
ejemplo, si tengo un campo Nombre de tipo cadena que no admite null en el set 
normalmente hago:

....
set
{
    if (value == null) .. (aca la toma de desiciones.. yo normalmente levanto 
una exception)
    propiedad = value;
}

Con el tamaño de los datos pasa lo mismo.. si mi campo es de tipo cadena de 
tamaño 50, yo no debia permitir asignar una cadena de tamaño 100 a la 
propiedad.. como la conversión de tipo es a string por parte de NH, entonces 
supuestamente podria asignar cualquier tamaño, y el error vendria por parte de 
la BD.

set
{
    if (value.Lenght > 50) (aca la toma de desiciones.. yo normalmente levanto 
una exception)
}

Estas cosas son controlables con los Validators de Castle por ejemplo. que en 
el caso de ActiveRecord funcionan muy bien y queda muy lindo el código.. 
tambien es implementada por las EntLib, aunque no he probado usar sus 
validators con NH. Existen muchas otras validaciones que estos framework nos 
permiten, como el chequeo de que no puede estar vacia, o que el # debe estar en 
un rango, o que la fehca debe estar en un rango...a lo mejor la idea es que 
cada entidad contenga un IsValid que nos permita validar todas estas cosas 
antes de hacer un update o insert

Dario queria hacer algo de esto.. no se en que punto lo tendrá.. 

Salu2 a todos
Omar
  ----- Original Message ----- 
  From: Angel "Java" Lopez 
  To: [email protected] 
  Sent: Monday, October 29, 2007 2:35 AM
  Subject: [NHibernate-Hispano] Re: Generando Codigo para NHibernate


  Hola gente!

  Omar, gente, donde y como les parece implementar lo que Omar comenta:

  - Usar nulleables donde los campos admiten nulos. Chequear de no permitir la 
asignacion (de que valor Omar? de un nulo de la base al campo en el objeto) si 
no admiten nulos.

  - Controlar el tamanio del dato

  Algun codigo de ejemplo?

  Nos leemos!

  Angel "Java" Lopez
  http://www.ajlopez.com/

    ----- Original Message ----- 
    From: Omar del valle Rodríguez 
    To: [email protected] 
    Sent: Tuesday, September 25, 2007 9:54 AM
    Subject: [NHibernate-Hispano] Re: Generando Codigo para NHibernate


    Estupendos Tips Fabio..

    Me responsabilizo con algunas de las cosas que mencionas aca.. Angel 
simplemente llegó a un resultado previamente enviado por mi.. 

    Angel.. tengo que analizarlo con más calma.. leí el post pero quiero 
bajarme la solución y palparlo con VS. Hasta donde pude ver, me gustó bastante.

    Un Hint.. A partir de la definición correcta de los HBM, como aceptar NULL 
o el tamaño de los campos para algunos tipos de datos SQL.. nuestra entidad 
debía chequear el cumplimiento de estas normas.

    - Si el campo acepta NULL, utilizar los nulleables. Sino, chequear esto en 
algun lugar para no permitir la asignación.
    - Si el campo que se define tiene un tamaño determinado.. digamos un 
varchar(200).. si se intenta sobrepasar dicho tamaño, chequear esto en algún 
lugar para no permitir la asignación.

    Salu2
    Omar.. 

    PD: Buen ejemplo Angel.. ;) gracias.


  

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

Responder a