使用HNibernate中的代码映射忽略列

Vas*_*aev 1 nhibernate nhibernate-mapping-by-code

我在NHibernate中使用代码映射.我找了一个有几个属性的课.其中一个与DB中的任何列无关,但仍然具有getter和setter.

我使用ConventionModelMapper而不是ModelMapper.第一个假定所有属性都已映射.

我如何告诉NHibernate忽略它?

Ikh*_*wan 5

我发现创建属性更容易,将该属性附加到属性,并在mapper.IsPersistentProperty方法中检查它.像这样的东西:

class IngnoreAttribute : Attribute
{
}

class Foo
{
    [Ignore]
    public virtual string Bar { get; set; }
}

mapper.IsPersistentProperty((mi, declared) => mi.GetCustomAttribute<IgnoreAttribute>() == null);
Run Code Online (Sandbox Code Playgroud)

这样,我不必在映射代码中保留要忽略的属性列表.