既存のスキーマにマップする必要があり、nhibernateでマップしたいと思います。
エンティティ/テーブルスキーマ:
post {
pk_id
prod_id
prod_internid
title
}
tag {
pk_t_id
prod_id
prod_internid
name
}
投稿には複数のタグを含めることができ、タグから投稿テーブルへの外部キー制約には、prod_idとprod_internidの2つの列があります。
私はこれを試しました:
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])
どうすれば正しい方法でマッピングできますか?