NHibernateとSQLサーバーでクラス継承hieararchyを実装しようとしています。私はそれをテーブル階層戦略(1つのテーブルとマッピングファイルのいくつかのサブクラス要素)でうまく動作させるようにしました。NHibernate joined-subclass
サブクラステーブルにいくつかの制約を設定したいので、サブクラス戦略(N + 1テーブルと1つのマッピングファイル内のN joined-subclass要素)は私の場合より意味があります。私は、マスタークラステーブル(Persons)とサブクラステーブル(ContactPersons)にどのようなPK/FK関連付けをするべきかと苦労しています。 NHibernateのドキュメントによると、テーブル間には主キーの関連があるはずです。私はサブクラスPKからマスタークラスPKにFK制約を入れようとしましたが、それでも動作しません。
NHibernate.Exceptions.GenericADOException:[Jobflow.Models.Entities.ContactPerson] [SQL:INSERT INTO ContactPersons(Email、Company、PersonID)VALUES(?、?、?)を挿入できませんでした。 ] ---> System.Data.SqlClient.SqlException:IDENTITY_INSERTがOFFに設定されている場合、テーブル 'ContactPersons'のID列に明示的な値を挿入できません。
私はONにIDENTITY_INSERTを設定しようとしましたが、それは助けていないようでした...