2

Je tente d'avoir wpf databind à une collection de modèles de données et, les afficher en utilisant des modèles de données. Actuellement, cela fonctionne parfaitement lorsque vous utilisez un IList, mais la liaison de données ne semble pas prendre en compte les ajouts/suppressions sur IList. Je suppose que c'est lié aux collections de nhibernate qui ne sont pas observables. J'ai essayé d'implémenter Nomad's WPF Collections sans trop de chance (nH dit ne pas implémenter UserCollectionType)Observable List Nhibernate

Je ne suis pas particulièrement désireux de trouver comment réparer les collections de nomades, donc je me demande s'il y a une meilleure façon d'obtenir une collection observable pour wpf-nhibernate liaison, en particulier maintenant avec la libération de nH 3.0

Merci d'avance!

+0

Je ne sais pas quel problème vous avez eu avec ma bibliothèque. Cela a fonctionné bien pour moi et beaucoup d'autres développeurs pendant des années. L'exemple d'application fourni le démontre. – HappyNomad

Répondre

3

Jetez un oeil à unhaddins .Vous pouvez trouver des implémentations de collections Observables Nhibernate`s

+0

Merci, cela semble fonctionner :) – Josh

+0

nice! ... il ya d'autres sujets couverts très utiles, comme la gestion de la vie des sessions – DanielGomez

0

Si votre collection implémente IList, vous pouvez la mapper comme une collection de sacs habituelle.

1

Une manière plus simple est d'utiliser setter de propriété pour l'initialisation de collection observable:

private ObservableCollection<ItemType> _items = new ObservableCollection<DynamicActivity>(); 
    public IList<DynamicActivity> Items 
    { 
     get { return _items; } 
     set { _items = new ObservableCollection<ItemType>(value); } 
    } 

juste besoin de définir la cartographie appropriée stratégie - utilisez uniquement access = "property".

+0

Cela ne fonctionnera pas si vous utilisez cascade sur la collection. Vous obtiendrez probablement une exception: Une collection avec cascade = "all-delete-orphelin" n'a plus été référencée par l'instance d'entité propriétaire ... IUserCollectionType est le chemin à parcourir. – wezzix