Hibernate NHiberate多对多,无联接表或外键

Hibernate NHiberate多对多,无联接表或外键,hibernate,nhibernate,fluent-nhibernate,Hibernate,Nhibernate,Fluent Nhibernate,我在herited有一个遗留数据库,在这两个表上没有外键,因此毫不奇怪,没有联接表 如果我没有错,现在就不可能创建联接表,因为我不能在这两个表中的任何一个上创建外键,因为这两个表每个BookingID都有许多记录。还是我错了 BookingsTable ID - primarykey BookingId (this is what I need to join on) BookingLocationsTable ID - primaryKey BookingId (this i

我在herited有一个遗留数据库,在这两个表上没有外键,因此毫不奇怪,没有联接表

如果我没有错,现在就不可能创建联接表,因为我不能在这两个表中的任何一个上创建外键,因为这两个表每个BookingID都有许多记录。还是我错了

BookingsTable
  ID - primarykey
  BookingId (this is what I need to join on)

BookingLocationsTable
  ID - primaryKey
  BookingId (this is how I would join)
我想在fluent nHibernate中创建这些到表之间的多对多关系

这不可能吗

我是否最好尝试使用联接进行简单查询

如果是这样的话,我可能需要完全放弃hibernate/nhibernate,因为这些表对域至关重要,也许还会有更多这样的例子


或者也许我需要重新构造数据库/表—一些如何使用nHibernate?

经过一些思考和讨论,我意识到这两个表之间实际上没有可挽救的关系

我对这种类型的ORM还不熟悉,所以我假设我需要表之间的某种关系来进行等效的连接

经过一些研究,我发现我可以使用linq到nHibernate、HQL,甚至db原生SQL来完成我需要做的事情


向上向前:)

BookingsTable
有一个
BookingId
BookingLocationsTable
也有一个,当
BookingId
相等时,您想将这两个表中的实体关联起来吗?如果是这样,我宁愿说有两个一对多而不是多对多。如果是这样的话,请告诉我-有可能写出这样的映射。@NOtherDev你知道我认为你是对的。一般来说,多对多在逻辑上似乎与21对多在逻辑上是一样的?@NOtherDev即使这是2个一对多关系,我仍然不能使用nHibernate,因为我不能在任何一个表的bookingId列上创建外键,因为它需要关系一侧的唯一键,这是我无法创造的。