【发布时间】:2011-09-14 09:01:22
【问题描述】:
我有以下类映射: 课本:
Table("BOOKS")
Id(b => b.Id)
Join("BOOKS_EXTRA_INFO", j =>
{
j.Optional();
j.References(b => b.Author);
}
班级作者:
TABLE("AUTHORES")
Id(a => a.Id)
HasMany(a => a.Books).Table("BOOKS_EXTRA_INFO")
此映射的问题在于,当我尝试执行以下操作时:
var a = Session.Get<Author>(1);
图书收藏为空。我检查了 NH 生成的 SQL,问题出在 where 子句中:
Select ... WHERE BOOKS.AUTHOR_ID = 1
正确的 Where 子句应该是:
Select ... WHERE BOOKS_EXTRA_INFO.AUTHOR_ID = 1
我发现了这个问题:Hibernate <set> key from joined table 这与我的问题非常相似(如果不一样的话),但解决方案使用 xml 映射,我不明白如何在流利的映射中做同样的事情。
我无法更改数据库架构。
我的问题的正确流畅映射是什么?
编辑:更新了映射以显示我拥有的确切映射。
【问题讨论】:
标签: c# .net nhibernate fluent-nhibernate nhibernate-mapping