0

参照エンティティが ID で見つからない場合にカスタム ロジックを配置する方法はありますか?

問題: ユーザー フィールドには、AD ログインと参照テーブル ユーザーが格納されます。テーブルには、アクティブなユーザーのみが含まれます (これは顧客のポリシーです)。非アクティブなユーザーのレコードを開くと、EntityNotFoundException が発生します。ログインで埋められたダミーの User オブジェクトを返したいとします。

可能です?

4

1 に答える 1

0

を使用して、ユーザーへの参照をマップできますnot-found="ignore"。欠落しているユーザーは、自分で処理できる関連付けプロパティに null として表示されます。

クラス:

public class SomeClass
{
    private string _userLogin;
    private User _user;

    public virtual User User
    {
        get
        {
            if (_user == null && !String.IsNullOrEmpty(_userLogin))
            {
                return new User(_userLogin); // Dummy User
            }
            return _user;
        }
        set
        {
            _user = value;
        }
    }
}

マッピング:

<property name="_userLogin" column="user_login" access="field" insert="false" update="false" />
<many-to-one name="_user" column="user_login" access="field" not-found="ignore" />
于 2013-07-03T08:15:02.403 に答える