Fabio,

En un link que has dado de ConfORM, se hace el mapeo sin tener una
propiedad ID en la entidad. Y se lanza una pregunta al vuelo que no
tengo respuesta:

¿Cómo se realizaría la comparación entre objetos que no son transient?
¿Sólo por sus propiedades? ¿Y cómo puedo saber en tiempo de ejecución
si es transient o no?

Gracias

On 12 feb, 14:40, Fabio Maulo <[email protected]> wrote:
> Si se implementa la traducción en español de este 
> applierhttp://code.google.com/p/codeconform/source/browse/ConfOrm/ConfOrm.Sh...
>
> <http://code.google.com/p/codeconform/source/browse/ConfOrm/ConfOrm.Sh...>Tambien
> podes hacer que la propiedad "Fecha" termine en una column de tipo DATE.
> En tu caso, ya que se trata de una propiedad de la clase Extraccion, no creo
> sea apropiado... tal vez el nombre mas apropiado para la propiedad sea:
> Momento
> ;-)
>
> ConfORM ayuda a los responsable de proyectos a que todo el equipo siga
> patrones de implementacción bien determinados (que pueden ser los mios, lo
> de Carlos o lo que definan ustedes).
>
> Are you ConfORM ?
>
> 2011/2/12 Fabio Maulo <[email protected]>
>
>
>
>
>
>
>
>
>
> > mapper.Customize<Cliente>(c => c.Property(p => p.Nombre, m => 
> > m.Unique(true)));
>
> > mapper.Customize<Cliente>(c => c.Property(p => p.Nombre, m => 
> > m.NotNullable(true)));
>
> > podes escribirla en una sola linea ya que el concern es lo mismo (DDL
> > customization).
> > Igualmente yo no lo haría de esa forma ya que lo que realmente estas
> > expresando es que la propiedad Nombre del cliente representa la que se
> > domina : Natural Id (el identificador que tiene una entidad en su entorno
> > natural)
> > O sea:
> > orm.TablePerClass(new[] { typeof(Cliente), typeof(Cuenta),
> > typeof(Extraccion) });
>
> > orm.VersionProperty<Cuenta>(c => c.Version);
> >  orm.NaturalId<Cliente>(cliente=> cliente.Nombre);
>
> > orm.Cascade<Cliente, Cuenta>(Cascade.All);
>
> > mapper.Customize<Cliente>(c => c.Property(p => p.Nombre, m =>
> > m.NotNullable(true)));
>
> > Que, aplicando los patterns definido en
> >https://bitbucket.org/fabiomaulo/nhmysticpara MSSQL2008, en XML es:
>
> >   <class name="Cliente" table="Clientes">
> >     <id type="Guid">
> >       <generator class="guid.comb" />
> >     </id>
> >     <natural-id>
> >       <property name="Nombre" not-null="true" />
> >     </natural-id>
> >     <many-to-one name="Cuenta" column="CuentaId" cascade="all" />
> >     <bag name="Extracciones" access="field.camelcase-underscore"
> > inverse="true"
> > cascade="all,delete-orphan">
> >       <key column="ClienteId" on-delete="cascade" />
> >       <one-to-many class="Extraccion" />
> >     </bag>
> >   </class>
>
> >   <class name="Cuenta" table="Cuentas">
> >     <id type="Guid">
> >       <generator class="guid.comb" />
> >     </id>
> >     <version name="Version" />
> >     <property name="Saldo" />
> >   </class>
>
> >   <class name="Extraccion" table="Extracciones">
> >     <id type="Guid">
> >       <generator class="guid.comb" />
> >     </id>
> >     <many-to-one name="Cliente" column="ClienteId" />
> >     <property name="Fecha" type="DateTime2" />
> >     <property name="Importe" />
> >   </class>
>
> > 2011/2/12 [email protected] <[email protected]>
>
> > Pienso que usar ConfOrm es una buena opción, aun para quienes están
> >> empezando y hasta quizás "sobre todo para quienes están empezando",
> >> ¿por qué?
>
> >> Porque con ConfOrm van a aprender a escribir mappings como si
> >> estuvieran haciendo pair programming con gente de mucha experiencia en
> >> nhibernate.
>
> >> decirle a ConfOrm "mapeame estas clases" es como preguntarle al Tano
> >> "ma come scrivere un mapping di queste classi"
>
> >> A partir de los mappings que genera ConfOrm podemos generar los xml,
> >> si bien esto no es necesario para usar ConfOrm, si podemos ver que nos
> >> generó.
>
> >> Recién escribí un blog-post sobre algo que me llamó la atención, hace
> >> un tiempo ya que uso nhibernate y sigo aprendiendo cosas nuevas, esta
> >> vez me la enseñó ConfOrm:http://goo.gl/5N4wK
>
> >> por la mitad del blog-post está el código que escribe los mappings en
> >> xml a partir de lo generado por ConfOrm (por si a alguien le
> >> interesa).
>
> >> Si ademas estamos generando el schema de la db desde nhibernate (con
> >> SchemaExport) es casi transparente el mantenimiento de la db durante
> >> el desarrollo.
>
> >> Otro tema es si la db no es parte de nuestro desarrollo ya sea legacy
> >> o prediseñada (e inmutable).
>
> >> saludos.
> >> nelo.
>
> >> 2011/2/11 NFreex <[email protected]>:
>
> >> > Por mi parte hace menos de un mes comence con Nhibernate la version
> >> > 3.0.0...
> >> > Gracia a mi  compañero del trabajo, comenzamos con algo nuevo... para
> >> > mi muy dificil de comprender pero me e estado adaptando a esta nueva
> >> > herramienta.
>
> >> > Nos adentramos a el a traves de la configuracion del mapeo a traves de
> >> > xml les cuento que el comiezo era algo complicado aunque aun no domine
> >> > por completo lo que se puede hacer dentro del xml por lo demas ya
> >> > comprendo ciertas cosas, a medida que pasa el tiempo, me voy adaptando
> >> > al xml.
>
> >> > Mi recomendacion es que que si tienen un proyecto de menos de 25 a 30
> >> > clases pueden trabajarlo con xml..
> >> > nosotros tenemos alrededor de 22 clases y creciendo.
> >> > Siempre con cuidado de no cometer algun analisis  mal empleado y
> >> > hechar varias clases hacia atras o mejor dicho reconfigurar pero ya
> >> > teniendo lo que se debe cambiar ya seria un paseo...
>
> >> > Ya cuando tengamos proyecto mas grandes de mayor capacidad creo que
> >> > podremos emigrar a algo como Conform pero por el momento  conozcamos a
> >> > NHibernate a fondo desde los comienzos del xml...
>
> >> > Los invitos a aquellso que no esten familiarizados con el mapping en
> >> > xml, a que no olviden las costumbres antiguas donde todo era a pulmon,
> >> > algo asi como el Viejo MS-DOS donde para entrar a una carpeta habia
> >> > que escribir cd nombredecarpeta  y ahora con windows solo hay que dar
> >> > clic.  Aveses el clic no nos demuestra que hay por debajo de todo
> >> > esto ...
>
> >> > Por eso es mejor conocer al enemigo desde sus entrañas para luego
> >> > saber como enfrentarlo visualmente.
> >> > Saludos desde  Panama
>
> >> > --
> >> > Para escribir al Grupo, hágalo a esta dirección:
> >> [email protected]
> >> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> >> --
> >> Para escribir al Grupo, hágalo a esta dirección:
> >> [email protected]
> >> Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> > --
> > Fabio Maulo
>
> --
> 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

Responder a