C# NHibernate映射到不一致的数据

C# NHibernate映射到不一致的数据,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我正在使用NHibernate映射数据模型。unfotunley由于缺少键/约束,数据库包含一些不一致的数据。目前,我一直使用m:n映射,其中映射表上的一些键引用丢失的数据。 以下是一些示例数据: Table: Foo id Value 0 A 1 B 2 C Table: Bar id Value 10 X 20 Y 30 Z Table: Map foo_id bar_id amount 0 10 2 0 11

我正在使用NHibernate映射数据模型。unfotunley由于缺少键/约束,数据库包含一些不一致的数据。目前,我一直使用m:n映射,其中映射表上的一些键引用丢失的数据。 以下是一些示例数据:

Table: Foo
id  Value
0   A
1   B
2   C

Table: Bar
id  Value
10  X
20  Y
30  Z

Table: Map
foo_id  bar_id  amount
  0       10        2
  0       11        4
  1       12        5
  2       20        8
我想把所有的食物都拿来,那也有一个吧。在(T)SQL中,我只使用连接。我已经厌倦了几个映射(比如references+nullable,等等),但是由于映射表包含一个键,NHiernate似乎期望一个实体


有什么建议吗?

您可以使用
NotFound=“ignore”
属性(
NotFound.ignore()
)在Fluent中使用
NotFound=“ignore”
属性(
NotFound.ignore()

如果链接表包含“缺少”ID,为什么不直接删除它们,然后把约束放回去?@mathieu要么这样做,要么构造一个视图并将您的实体映射到它上。我无法对数据库执行修改,因为影响风险非常高。如果链接表包含“缺少”ID,为什么不直接删除它们呢,然后把约束放回去?@mathieu要么这样,要么构造一个视图并将您的实体映射到它上。我无法对数据库执行修改,因为影响风险非常高。