si es un componente no entiendo porque hereda de BaseEntity. De todas formas: Si son entidade de base y queres excluirlas es suficiente que no aparezcan en orm.TablePerClass(listaDeEntidadesRoot) Si son entidade que están en el medio de una gerarquia y queres excluirlas es suficiente con orm.Exclude<LaImplQueQueresSaltear>();
2011/4/20 Jose Selesan <[email protected]> > Buenas!, estoy usando ConfORM y me surgió el siguiente problema. Hasta > ahora, tenía todas clases simples que heredan de BaseEntity, así que para > decirle a ConfORM que me haga el mapeo, tenía algo así: > > orm.TablePerClass(typeof(Cliente).Assembly.GetTypes().Where(t => > t.Namespace.Contains("Dominio") && !t.Namespace.EndsWith("ValidationDefs") > && !t.Name.Equals("BaseEntity") && !tipos.Contains(t))); > > donde tipos es un arreglo con algunos tipos que no quiero mapear (porque > los uso como componentes). > > Resulta que ahora agregué un par de clases así: > > public abstract class Parametro: BaseEntity > { > public virtual string Nombre { get; set; } > > public abstract object Valor { get; } > } > > public class ParametroEntero: Parametro > { > public virtual int ValorEntero { get; set; } > public override object Valor > { > get { return ValorEntero; } > } > } > > Entonces, agregué orm.TablePerClassHierarchy<Parametro>();, pero no me > mapea la herencia, sino que me hace un mapeo propio para la clase > ParametroEntero, y si agrego Parametro y ParametroEntero al arreglo de > tipos, no me mapea nada. > > Resumiendo, tengo lo siguiente: > > var tipos = new[] { typeof(TipoCliente), typeof(Dinero), typeof(Moneda), > typeof(TipoOperacion), typeof(TipoPropiedad), typeof(EstadoEvento), > typeof(Periodo) }; > > var orm = new ObjectRelationalMapper(); > orm.TablePerClass(typeof(Cliente).Assembly.GetTypes().Where(t => > t.Namespace.Contains("Dominio") && !t.Namespace.EndsWith("ValidationDefs") > && !t.Name.Equals("BaseEntity") && !tipos.Contains(t))); > orm.TablePerClassHierarchy<Parametro>(); > > Esto me genera esto: > > <class name="Parametro" table="Parametros" abstract="true"> > <id name="Id" type="Int32"> > <generator class="hilo" /> > </id> > <discriminator /> > <property name="Nombre" /> > </class> > <class name="ParametroEntero" table="ParametrosEnteros"> > <id name="Id" type="Int32"> > <generator class="hilo" /> > </id> > <discriminator /> > <property name="ValorEntero" /> > <property name="Nombre" /> > </class> > > ¿Qué estoy haciendo mal? > > Gracias! > > -- > 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
