如何在 fluid nhibernate 中制定 IgnoreProperty 约定?

发布于 2024-09-18 11:12:06 字数 769 浏览 9 评论 0原文

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>();
        };
    }
public class MyObjectMap : IAutoMappingOverride<MyObject>
{
    public void Override(AutoMapping<MyObject> mapping)
    {
        mapping.IgnoreProperty(x => x.InterfaceProperty);
    }
}

I am currently doing this in every map... how can I make this into a convention? I am adding conventions like so:

    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>();
        };
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感性不性感 2024-09-25 11:12:07

我认为这与约定无关,但是它受映射覆盖的影响,试试这个:

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

I think this is not something related to Convention,however it is subject to Mapping Overriding, try this:

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

    }
}

i haven't try this actually, but I think it may help,and notice that the DefaultAutomappingConfiguration is in Fluent-NHibernate V1.1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文