Me pregunto algo. Estoy sentado aquí con una solución. Tengo 1 superclase que tiene 2 subclases y estoy mapeando esto usando JoinSubClass, pero entiendo que este método es obsoleto, y dice que debería usar ClassMap y SubClassMap, pero si hago esto el AutoMapping no funciona, y no quiero eso. ¿Hay alguna solución para esto?Fluido NHibernate JoinedSubClass obsoleto
Aquí está la jerarquía:
public class Tag : Entity
{
public virtual string Name {get;set;}
public virtual User User {get;set;}
}
public class RespondentTag : Tag
{
public virtual IList<Respondent> Respondents {get;set;}
}
public class ArchiveTag : Tag
{
public virtual IList<Survey> Surveys {get;set;}
}
Como probablemente averiguado que quiero que esto sea una tabla por jerarquía de mapeo con subclases con listas que son Muchos-A-Muchos. Como una tabla 'Tag', luego Tag_Respondent y Tag_Archive (para la relación de muchos a muchos).
Ésta es la asignación que actualmente estoy usando:
public class TagMap : IAutoMappingOverride<Tag>
{
public void Override(AutoMapping<Tag> mapping)
{
//This is obsolete
mapping.JoinedSubClass("RespondentTagId", RespondentTagMap.AsJoinedSubClass());
mapping.JoinedSubClass("ArchiveTagId", ArchiveTagMap.AsJoinedSubClass());
}
}
public class RespondentTagMap
{
public static Action<JoinedSubClassPart<RespondentTag>> AsJoinedSubClass()
{
return part =>
part.HasManyToMany(x => x.RespondentList)
.Cascade
.SaveUpdate()
.Inverse()
.Table("Tag_Respondent");
}
}
public class ArchiveTagMap
{
public static Action<JoinedSubClassPart<ArchiveTag>> AsJoinedSubClass()
{
return part =>
part.HasManyToMany(x => x.Surveys)
.Cascade
.SaveUpdate()
.Inverse()
.Table("Tag_Archive");
}
}
¿Alguien sabe acerca de una solución u otra solución para resolver esto? (Sin deshabilitar la automatización)
Cualquier respuesta será apreciada.
¡Gracias de antemano!
¿Alguna vez ha funcionado? Me estoy encontrando con problemas similares tratando de conseguir que funcione una tabla por subclase mixta y jerarquía de tabla por clase. – rbellamy
¿sigues teniendo este problema? ¿Qué versión de FNH usaste? – Firo