我必须使用现有的架构,我想用nhibernate映射它。
实体/表架构:
post {
pk_id
prod_id
prod_internid
title
}
tag {
pk_t_id
prod_id
prod_internid
name
}
一个帖子可以有多个标签,并且从标签到帖子表有一个外键约束,有两列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])
如何以正确的方式映射?
答案 0 :(得分:1)
我认为NHibernate目前不支持此功能,但它在Hibernate中。看起来像你或有人需要移植它。看看这个NH问题:
https://nhibernate.jira.com/browse/NH-1722
我还发现了之前关于此的StackOverflow文章: