我有一个表(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);
}
);
答案 0 :(得分:1)
这是众所周知的缺少按代码映射功能GH-2139。并且它已经在5.3中实现(尚未发布,但是漂亮的close)
目前,您可以使用https://www.myget.org/gallery/nhibernate中的5.3的预发布版本(另请注意如何使用here)