NHibernate通过代码映射一对一关系:通过Join获取?

时间:2020-07-14 06:53:26

标签: nhibernate mapping-by-code

我有一个表(UncommittedVideoFile)与另一个表(VideoOrImageAsset)具有严格的一对一关系。加载UncommittedVideoFile时,我想通过JOIN在同一查询中加载VideoOrIm​​ageAsset。 (内部或左侧)。

显然,使用xml映射时可以指定按抓取方式:https://ayende.com/blog/3960/nhibernate-mapping-one-to-one

如果您使用Fluent NHibernate,也可能:https://stackoverflow.com/a/15694723/25216

但是使用MappingByCode可以设置Fetch选项吗?我什么都看不到。

这是我当前拥有的代码。 IOneToOneMapper接口没有Fetch方法。

classMapper.OneToOne(
    f => f.VideoOrImageAsset,
    oneToOneMapper =>
    {
        oneToOneMapper.Constrained(true);
        oneToOneMapper.ForeignKey("Id");
        oneToOneMapper.Lazy(LazyRelation.NoLazy);
    }
);

1 个答案:

答案 0 :(得分:1)

这是众所周知的缺少按代码映射功能GH-2139。并且它已经在5.3中实现(尚未发布,但是漂亮的close

目前,您可以使用https://www.myget.org/gallery/nhibernate中的5.3的预发布版本(另请注意如何使用here