代码之家  ›  专栏  ›  技术社区  ›  cbp

FluentHibernate:asset()的作用是什么?

  •  7
  • cbp  · 技术社区  · 15 年前

    在Fluent NHibernate中,指定asset()对HasMany或HasManyToMany关系有什么影响?

    假设映射属性的类型是一个IESI集,那么以下两者之间是否存在任何差异:

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

    HasMany(x => x.MySetProperty);
    
    1 回复  |  直到 15 年前
        1
  •  12
  •   James Gregory    15 年前

    假设你的类型是一个IESI集合,那么没有区别;即 HasMany 自己打电话就够聪明了,可以知道你想要一套。这个 AsSet 是一种将HasMany显式更改为集合的方法,在这种情况下,fnh可能无法按类型确定它,例如,如果您将集合公开为 IEnumerable 它将默认为一个包并调用 资产 会忽略这一点。