Je tente de mapper une hiérarchie d'entités à l'aide de NHibernate dont presque tous ont des événements. Lors d'une tentative de construire une usine de session cependant, je reçois des messages d'erreur similaires à ce qui suit:NHibernate exige que les événements soient virtuels?
Core.Domain.Entities.Delivery: méthode remove_Scheduled devrait être virtuelle
Livraison est une entité dans mon modèle de domaine avec un événement appelé Planifiée. Puisque les événements ne peuvent pas être déclarés virtuels, je ne sais pas comment procéder ici. Pourquoi NHibernate aurait-il besoin d'événements virtuels?
Je ne pensais même pas qu'il était possible de mapper un événement. Vous spécifiez toujours paresseux = faux? La chose est le chargement paresseux est un must absolu dans ma situation. Spécifier quelles entités charger dans chaque situation serait prohibitif. – Jimit
Je spécifie lazy = false au niveau de la classe. Ce faisant, je n'ai pas besoin de créer mes propriétés virtuelles quand je ne le souhaite pas. L'inconvénient est que NHibernate n'utilise pas les proxies dynamiques lors de la récupération d'objets: par exemple, avec des proxies dynamiques, lors de la récupération d'un objet, NHibernate ne remplira que l'ID de l'objet. Seulement lorsque vous accédez à l'une des propriétés de l'objet, l'objet entier sera chargé. Cela n'affecte cependant pas le chargement paresseux des collections. –