fluent nhibernate外键,带两列映射

fluent nhibernate外键,带两列映射,nhibernate,fluent-nhibernate,foreign-keys,Nhibernate,Fluent Nhibernate,Foreign Keys,我必须创建一个现有的模式,并将其映射到nhibernate 实体/表架构: post { pk_id prod_id prod_internid title } tag { pk_t_id prod_id prod_internid name } 一个post可以有多个标记,并且从标记到post表之间有一个外键约束,包含两列prod_id和prod_internid 我试过这个: PostMap { // tags is a list HasMany(

我必须创建一个现有的模式,并将其映射到nhibernate

实体/表架构:

post {
  pk_id
  prod_id
  prod_internid
  title
}

tag {
  pk_t_id
  prod_id
  prod_internid
  name
}
一个post可以有多个标记,并且从标记到post表之间有一个外键约束,包含两列prod_id和prod_internid

我试过这个:

PostMap {
  // tags is a list
  HasMany(x => x.tags).KeyColumns.Add("prod_id", "prod_internid");
}

TagMap {
  References(x => x.post).Columns("prod_id", "prod_internid");//.ForeignKey();
}
我得到这个错误:

NHibernate.FKUnmatchingColumnsException: Foreign key (FK98806C8630C05A78:tag [prod_id, prod_internid])) must have same number of columns as the referenced primary key (post [pk_id])

如何正确映射它?

我认为NHibernate目前不支持此功能,但Hibernate支持此功能。看来你或其他人需要把它移过去。看看这个NH问题:

我还发现了前一篇关于此的StackOverflow文章:


您好,您找到了这个问题的答案吗?我不再积极参与该项目,但我在2012年发现它不受支持,请参阅Cole W.的答案