1

私はSQLテーブルを持っています.3つの列を持つtable_descriptionです。

1) ID - ID と主キー

2) 説明

3) Parent_Id - これは、SAME テーブルの ID にリンクします。

ID = 0行の 1 つとしてのレコードがあります。で新しいレコードを作成しようとするとParent_Id = 0、NHibernate からエラーがスローされます。

オブジェクトが保存されていない一時インスタンスを参照しています - フラッシュする前に一時インスタンスを保存するか、プロパティのカスケード アクションを自動保存するように設定します

これは、NHibernate が新しいレコードを生成しようとするときに、 が表示され、 が表示されるため、依存関係があるとID =0見なされるためだと推測しています。parent_Id = 0

これを理解した上で、どのように新しいレコードを作成しparent_Id = 0ますか?

ありがとう、

4

1 に答える 1

2

ID の unsaved-valueプロパティをテーブルに存在しない値、つまり-1に設定してみてください。整数列のデフォルトは0です。

流暢なマッピング クラスで次のように変更できます。

Id(x => x.ID).UnsavedValue(-1);
于 2012-08-08T19:40:21.153 に答える