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>
你知道我该如何优雅地处理这个问题吗?