FluentNHibernate:AsSet()的作用是什么?

时间:2010-01-13 02:58:04

标签: fluent-nhibernate

在Fluent中,Nhibernate在HasMany或HasManyToMany关系上指定AsSet()会产生什么影响?

假设映射属性的类型是Iesi Set,那么:

之间是否有任何区别
HasMany(x => x.MySetProperty)
   .AsSet();

HasMany(x => x.MySetProperty);

1 个答案:

答案 0 :(得分:12)

假设你的类型是Iesi Set,那么没有区别; HasMany对它自己的调用非常聪明,可以确定你想要一个Set。在FNH可能无法按类型确定的情况下,AsSet是一种将HasMany显式更改为Set的方法,例如,如果您将集合公开为IEnumerable它将默认到一个行李并且调用AsSet会覆盖它。