流畅的Nhibernate映射以避免空引用

流畅的Nhibernate映射以避免空引用,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我们有一个订单实体和一个信用卡实体 订单可以有0张或1张信用卡 信用卡可以有一张或多张订单 我理解这是一对多的关系。但我们预计大部分订单不会使用信用卡支付,因此订单表将充满空引用。我的理解是,这是一种不好的做法 有没有可能以其他方式设计数据库/实体/映射来避免这种情况?我认为您考虑得太多了。如果是我,我会在我的订单中引用信用卡,在我的信用卡实体中,我会有很多订单。如果需要,您可以在订单中使用HasCreditCard布尔值,只检查订单中的信用卡对象是否为null。我很好奇,为什么表中有很多nul

我们有一个
订单
实体和一个
信用卡
实体

订单可以有0张或1张
信用卡

信用卡可以有一张或多张
订单

我理解这是一对多的关系。但我们预计大部分
订单
不会使用
信用卡支付
,因此订单表将充满空引用。我的理解是,这是一种不好的做法


有没有可能以其他方式设计数据库/实体/映射来避免这种情况?

我认为您考虑得太多了。如果是我,我会在我的订单中引用信用卡,在我的信用卡实体中,我会有很多订单。如果需要,您可以在订单中使用HasCreditCard布尔值,只检查订单中的信用卡对象是否为null。

我很好奇,为什么表中有很多null是一种不好的做法?不是吗?老实说,我认为我已经过度思考了这个问题,浪费了我的时间……我不是说不是,但我不明白为什么。不过,我对自己的数据库知识没有足够的信心说这绝对没问题。如果你真的想避免这种情况,你可以将其视为多对多关系。我在这方面的大部分经验都来自大学+互联网,因此我不主张拥有专业知识。我发现用我的nhibernate知识是不可能的:(