流畅的NHibernate- ClassMap继承?

时间:2010-11-23 18:21:24

标签: fluent-nhibernate

In an earlier question(与Fluent NHibernate无关 - 我因为我的问题而切换了)我概述了一个表布局问题,我需要将我的列表实体拆分到多个表中,具体取决于他们来自哪个国家。这是出于性能原因 - 实际上,我想要清单_UK,Listing_FR等表。

现在,我以为我用Fluent赢得了累积奖金,我90%在那里 - 但我已经卡住了。我有一个Listing类,以及一个继承它的Listing_UK类。因此,像:

Listing testListing = new Listing_UK() as Listing

工作正常。但是,我已经绊倒了ClassMaps。我原本打算创建一个静态void,它将为所有表执行映射,如下所示:

public static void DoMap(ClassMap<Listing> map) {
        map.Id(x => x.ListingCode)
            .GeneratedBy.HiLo("10000");
    }

但我需要转换ClassMap&lt; Listing_UK&gt;到一个ClassMap&lt; Listing&gt;为了传递它 - 我不能。像这样的东西(尽管它没有意义,因此)不起作用:

ClassMap<Listing> test = new ClassMap<Listing_UK> as ClassMap<Listing>

我能如何优雅地处理这个问题?

1 个答案:

答案 0 :(得分:2)

好的,我在一些密集的谷歌搜索后找到了解决方案。希望这会帮助那些最终处于相同情况的人:

http://geekswithblogs.net/nharrison/archive/2010/07/09/inheriting-a-class-map-in-fluent-nhibernate.aspx