j'ai une base de données existante (qui est encore utilisé par une autre application héritée) où le groupe est dénormaliser et dupliqué dans les rangs de l'enfantparent-> enfant par rapport à parent-> groupe-> enfant
table parent
(
id
)
table child
(
id
parent_id
group_id
group_name
group_Flag
group_type
name
)
et je voudrais les associer à
class Parent
{
public long Id { get; private set; }
public ICollection<Group> Groups { get; private set; }
}
class Group
{
public long Id { get; set; }
public string Name { get; set; }
public GroupType Type { get; set; }
public bool Flag { get; set; }
public ICollection<Child> Childs { get; private set; }
}
class Child
{
public long Id { get; private set; }
public string Name { get; set; }
}
- Est-ce possible?
- Comment faire dans l'une des méthodes de cartographie de NHibernate (xml, mbc, Fluent, ...)
Mise à jour: Quelques infos supplémentaires
- le schéma ne peut pas être changé en raison de l'application héritée
- vues supplémentaires dans la base de données sont une option
- fuite dans le modèle de classe est possible
Que dois-je mettre dans l'où pour les groupes? Les colonnes group_xxx sont les mêmes pour chaque enfant, les child_id sont inconnus/différents pour chaque parent. – Firo
voir la mise à jour – mathieu
si j'ai ma vue 'Groups (group_id, parent_id)' comment ajouter de nouveaux groupes à cela? – Firo