0

私は現在、別の関連するテーブルBへの外部キー参照を持っていたテーブルAを含むNHibernateアプリケーションを使用しています。この制約は、Bのアイテムがセカンダリアプリケーションによって制御不能に削除される可能性があるため、意図的に削除されました。

制約はなくなりましたが、 Bの行がまだ存在する場合は、 AからBへの参照が有用であると見なすことができます。それ以外の場合は、nullとして扱われる可能性があります。

Aによって参照されている行がBから削除されると、当然のことながら、「指定された識別子を持つ行は存在しません」という例外がスローされます。

Aからの参照がBに存在しなくなった場合に、アプリケーションによってオブジェクト参照がnullを返すように流暢に(または明示的なクエリ/結合を回避して)、参照がBに記述されているようにオブジェクトを返す方法はありますか?有効ですか?

現在の一方向の流暢なマッピング(外部キー参照として扱われる)は、次のようにかなり単純です。

...
References(a => a.b_ref, "b_id");
...
4

1 に答える 1

2

流暢なマッピングを次のように更新することにより、参照が見つからない場合は無視して null として扱うことができます。

...
References(a => a.b_ref, "b_id").NotFound.Ignore();
...

場合によっては、Google を介して適切なキーワードに出くわすだけの問題です。

于 2013-01-22T19:22:07.777 に答える