【问题标题】:fluent nhibernate foreign key with 2 columns mapping具有 2 列映射的流利的 nhibernate 外键
【发布时间】:2012-09-18 03:16:20
【问题描述】:

我必须使用现有的架构,并且我想用 nhibernate 映射它。

实体/表架构:

post {
  pk_id
  prod_id
  prod_internid
  title
}

tag {
  pk_t_id
  prod_id
  prod_internid
  name
}

一篇文章可以有多个标签,并且从标签到 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])

我怎样才能以正确的方式映射它?

【问题讨论】:

  • 您好,您找到答案了吗?
  • 我不再参与该项目,但我在 2012 年不支持它,请参阅 Cole W 的回答

标签: nhibernate fluent-nhibernate foreign-keys


【解决方案1】:

我认为 NHibernate 目前不支持此功能,但它在 Hibernate 中。似乎您或某人需要将其移植过来。看看这个 NH 问题:

https://nhibernate.jira.com/browse/NH-1722

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

many-to-one with multiple columns

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多