2010-01-13 12 views
7

En Fluent Nhibernate, ¿cuál es el efecto de especificar AsSet() en una relación HasMany o HasManyToMany?FluentNHibernate: ¿Cuál es el efecto de AsSet()?

Suponiendo que el tipo de la propiedad asignada es un conjunto Iesi, ¿hay alguna diferencia entre:

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

y

HasMany(x => x.MySetProperty); 

Respuesta

12

Asumiendo que su tipo es un conjunto de Iesi, entonces no hay diferencia; la llamada HasMany por sí misma es lo suficientemente inteligente como para darse cuenta de que desea un conjunto. El AsSet es una manera de cambiar explícitamente su HasMany a un conjunto en situaciones donde FNH podría no ser capaz de determinarlo por tipo, por ejemplo, si está exponiendo su colección como IEnumerable sería un bolso predeterminado y llamaría AsSet anularía ese.

Cuestiones relacionadas