在Fluent中,Nhibernate在HasMany或HasManyToMany关系上指定AsSet()会产生什么影响?
假设映射属性的类型是Iesi Set,那么:
之间是否有任何区别HasMany(x => x.MySetProperty)
.AsSet();
和
HasMany(x => x.MySetProperty);
答案 0 :(得分:12)
假设你的类型是Iesi Set,那么没有区别; HasMany
对它自己的调用非常聪明,可以确定你想要一个Set。在FNH可能无法按类型确定的情况下,AsSet
是一种将HasMany显式更改为Set的方法,例如,如果您将集合公开为IEnumerable
它将默认到一个行李并且调用AsSet
会覆盖它。