流利的Nhibernate,如何处理一个真的只有一个?

时间:2010-09-16 22:23:30

标签: fluent-nhibernate nhibernate-mapping

目前我有一个表“ComponentAnalysis”和一个表“HistoryOfUse”,我试图在Fluent NHibernate中映射。

组分分析应该只有1个使用历史,使用历史应该属于1个组分分析。这将向我建议表格应该设置为1对1映射。但DB的设计者没有这样设置。

而是“HistoryOfUse”有一列“ComponentAnalysisID”来指定它所属的组件分析。为了符合数据库我应该有HistoryOfUse参考ComponentAnalysis和ComponentAnalysis应该HasMany HistoryOfUse。

但是,如果我这样做,那么我需要一个类型HistoryOfUse的列表,这似乎相当烦人。有没有办法在不更改数据库的情况下进行设置,以允许ComponentAnalysis拥有单个HistoryOfUse对象,即使根据数据库结构,它应该有一个列表?

1 个答案:

答案 0 :(得分:2)

您可以使用HasOne方法映射您的类。 Here是关于此的详细文章。 您的类ComponentAnalysis将“HasOne(x => x.HistoryOfUse)”。列HistoryOfUse.ComponentAnalysisID应该是唯一键和引用ComponentAnalysis.ID列的外键。