通过代码一对一关系进行的NHibernate映射:通过Join获取



我有一个表(UncommittedVideoFile(,它与不同的表(VideoOrImageAsset(具有严格的一对一关系。当我加载UncommittedVideoFile时,我希望通过JOIN在同一查询中加载VideoOrImageAsset。(内侧或左侧外侧(。

显然,当您使用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);
}
);

已知代码特性GH-2139缺少映射。它已经在5.3中实现了(尚未发布,但非常接近(

现在,您可以使用5.3的预发布版本https://www.myget.org/gallery/nhibernate(也可以在这里查看如何使用它的注意事项(

最新更新