覆盖Fluent映射

时间:2011-05-05 12:41:03

标签: nhibernate fluent-nhibernate

我有一个名为MyApp.Mapping.dll的映射程序集,它映射了大量实体,我还有以下映射:

public class UserMap : ClassMap<User>
//(...)
HasManyToMany(p => p.Roles).Not.LazyLoad()
//(...)

无论出于何种原因,Roles关联都被映射为非lazyload。

由于特定原因,我想懒惰映射此关联,并且对于我所研究的内容,无法在条件中将急切的映射关联提取为Lazy。

所以问题是:

我可以在另一个覆盖UserMap映射的程序集中创建另一个映射类,以便我可以将MyApp.Mappings.dll重用于其他实体吗?

1 个答案:

答案 0 :(得分:0)

您可以构建配置对象,然后

var roles = config
    .GetClassMapping(typeof(User))
    .GetProperty("Roles");

roles.IsLazy = false;

config.BuildSessionFactory();

希望有所帮助