代码之家  ›  专栏  ›  技术社区  ›  Alastair

流畅的NHibernate类映射继承?

  •  2
  • Alastair  · 技术社区  · 14 年前

    In an earlier question (与Fluent NHibernate无关——我的问题导致了我的转换)我概述了一个表格布局问题,我需要将我的上市实体拆分成多个表格,这取决于它们来自哪个国家。这是出于性能方面的原因-实际上,我想要列出英国、法国等的表格。

    现在,我以为我会用流利的语言中头奖,而且我90%的命中率——但是我被卡住了。我有一个Listing类,还有一个Listing-UK类,它继承了这个类。因此,类似于:

    Listing testListing = new Listing_UK() as Listing
    

    工作正常。但是,我在类图上绊倒了。我本打算创建一个静态void,它将对所有表进行映射,如下所示:

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

    但我需要将ClassMap<Listing_k>转换为ClassMap<Listing>,以便将其传入,但我不能。类似这样的操作(尽管这样做没有意义)不起作用:

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

    你知道我该如何优雅地处理这个问题吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Alastair    14 年前

    好吧,我在搜索了几次之后找到了一个解决方案。希望这能帮助那些和我一样的人:

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