2010-01-13 3 views
7

Dans Fluent Nhibernate, quel est l'effet de la spécification de AsSet() sur une relation HasMany ou HasManyToMany?FluentNHibernate: Quel est l'effet de AsSet()?

Si l'on suppose le type de propriété mappée est un Iesi Set, est-il une différence entre:

HasMany(x => x.MySetProperty) 
    .AsSet(); 

et

HasMany(x => x.MySetProperty); 

Répondre

12

Si l'on suppose votre type est un Iesi Set, alors il n'y a pas de différence; l'appel HasMany est assez intelligent pour comprendre que vous voulez un ensemble. Le AsSet est un moyen de modifier explicitement votre HasMany à un ensemble dans des situations où FNH pourrait ne pas être en mesure de le déterminer par type, par exemple si vous exposer votre collection comme IEnumerable il serait par défaut à un sac et appelant AsSet cette.

Questions connexes