テーブルBに存在しないすべての行をテーブルAから削除したいと思います。これを行うには、session.Delete(query)を次のように使用します。
Session.Delete<A>("FROM A WHERE id NOT IN (SELECT vpg_id FROM B)");
次のエラーが発生します。
NHibernate.QueryException: could not resolve property: vpg_id of: A [FROM A WHERE Id NOT IN (SELECT vpgid FROM B)]
次のようにHQLを使用してそれを実行してみました。
Session.CreateQuery("DELETE A WHERE id NOT IN (SELECT vpg_id FROM B)").ExecuteUpdate();
そしてこの例外を取得します:
NHibernate.QueryException: No data type for node: IdentNode vpg_id [DELETE A WHERE id NOT IN (SELECT vpg_id FROM B)]