Je ne suis pas trop chaud sur NHibernate/FNH Mapping mais je suis à la recherche à la mise en œuvre du modèle d'état et comme l'idée de l'article de Derick Bailey ici:Courant NHibernate Cartographie - Etat Motif
Je beleive c'était il y a un certain temps donc le code de mappage est obsolète, quelqu'un peut-il me donner un coup de main pour le mettre à jour pour FNH 1.1?
public class OrderStatusMap: ClassMap<OrderStatus>
{
public OrderStatusMap()
{
CreateMap();
}
public void CreateMap()
{
DefaultAccess.AsProperty();
WithTable("OrderStates");
Id(s => s.Id).GeneratedBy.Assigned();
DiscriminateSubClassesOnColumn<string>("Name")
.SubClass<InProcessStatus>()
.IsIdentifiedBy(OrderStatus.InProcess.Name)
.MapSubClassColumns(x => { })
.SubClass<TotaledStatus>()
.IsIdentifiedBy(OrderStatus.Totaled.Name)
.MapSubClassColumns(x => { })
.SubClass<TenderedStatus>()
.IsIdentifiedBy(OrderStatus.Tendered.Name)
.MapSubClassColumns(x => { })
.SubClass<DeliveredStatus>()
.IsIdentifiedBy(OrderStatus.Delivered.Name)
.MapSubClassColumns(x => { })
Map(s => s.Name);
}
}
Son article est là pour le reste du code: http://www.lostechies.com/blogs/derickbailey/archive/2008/11/26/mapping-a-state-pattern-with-nhibernate.aspx
Merci beaucoup!
Paul
Y at-il quelque chose en particulier avec lequel vous avez des difficultés? La plupart des noms de méthodes ont leurs préfixes supprimés ('WithTable' ->' Table'), mais cela est assez facile à détecter avec intellisense. –
mon intellisense dit que DiscriminateSubClassesOnColumn est déprécié et je devrais utiliser SubclassMap <> ... je ne suis pas sûr comment utiliser ceci. –
Au lieu de placer la classe de base et toutes les sous-classes dans un ClassMap, vous avez ClassMap pour la classe de base une SubclassMap distincte pour chacune des sous-classes. La définition de la colonne discriminante est toujours dans ClassMap, mais la valeur du discriminateur se trouve dans chaque sous-classe. – Rich