Как сделать соглашение IgnoreProperty в беглом nhibernate? - PullRequest
1 голос
/ 11 сентября 2010
public class MyObjectMap : IAutoMappingOverride<MyObject>
{
    public void Override(AutoMapping<MyObject> mapping)
    {
        mapping.IgnoreProperty(x => x.InterfaceProperty);
    }
}

В настоящее время я делаю это на каждой карте ... как я могу превратить это в соглашение?Я добавляю условные обозначения так:

    private Action<IConventionFinder> GetConventions()
    {
        return c =>
        {
            c.Add<ForeignKeyConvention>();
            c.Add<HasManyConvention>();
            c.Add<HasManyToManyConvention>();
            c.Add<ManyToManyTableNameConvention>();
            c.Add<PrimaryKeyConvention>();
            c.Add<ReferenceConvention>();
            c.Add<TableNameConvention>();
        };
    }

1 Ответ

1 голос
/ 11 сентября 2010

Я думаю, что это не то, что связано с Конвенцией, однако это зависит от переопределения карт, попробуйте это:

public class AutoMapDefaultConfig : DefaultAutomappingConfiguration
{
    public override bool ShouldMap(FluentNHibernate.Member member)
    {
        if (member.Name == "InterfaceProperty")
            return false;
        return base.ShouldMap(member);

    }
}

Я не пробовал это на самом деле, но я думаю, что это может помочьчто DefaultAutomappingConfiguration находится в Fluent-NHibernate V1.1

...