2010-01-13 8 views
7

W Fluent Nhibernate, jaki jest efekt określenia AsSet() na relacji HasMany lub HasManyToMany?FluentNHibernate: Jaki jest efekt AsSet()?

Zakładając typ odwzorowanym właściwość jest zestaw Iesi, czy istnieje różnica pomiędzy:

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

i

HasMany(x => x.MySetProperty); 

Odpowiedz

12

Zakładając, że typ jest zestaw Iesi, to nie ma różnicy; Wywołanie HasMany jest na tyle sprytne, aby zorientować się, że chcesz zestaw. Numer AsSet jest sposobem na wyraźną zmianę HasMany na Zestaw w sytuacjach, w których FNH może nie być w stanie określić go według typu, na przykład, jeśli wystawiasz swoją kolekcję jako IEnumerable, domyślnie jest to Torba i wywołanie AsSet zastąpi że.

Powiązane problemy