目前我有一个表“ComponentAnalysis”和一个表“HistoryOfUse”,我试图在Fluent NHibernate中映射。
组分分析应该只有1个使用历史,使用历史应该属于1个组分分析。这将向我建议表格应该设置为1对1映射。但DB的设计者没有这样设置。
而是“HistoryOfUse”有一列“ComponentAnalysisID”来指定它所属的组件分析。为了符合数据库我应该有HistoryOfUse参考ComponentAnalysis和ComponentAnalysis应该HasMany HistoryOfUse。
但是,如果我这样做,那么我需要一个类型HistoryOfUse的列表,这似乎相当烦人。有没有办法在不更改数据库的情况下进行设置,以允许ComponentAnalysis拥有单个HistoryOfUse对象,即使根据数据库结构,它应该有一个列表?
答案 0 :(得分:2)
您可以使用HasOne方法映射您的类。 Here是关于此的详细文章。 您的类ComponentAnalysis将“HasOne(x => x.HistoryOfUse)”。列HistoryOfUse.ComponentAnalysisID应该是唯一键和引用ComponentAnalysis.ID列的外键。