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

Responder a