Que mal ReSharper que no me lo marcó!... jeje... gracias Fabio.
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/nhmystic para 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 > > -- > 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
