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>
我能如何优雅地处理这个问题?
答案 0 :(得分:2)
好的,我在一些密集的谷歌搜索后找到了解决方案。希望这会帮助那些最终处于相同情况的人: