0

当id找不到引用的实体时,有什么方法可以放置自定义逻辑?

问题:用户字段存储AD登录和引用表用户。该表仅包含活动用户(这是客户的策略)。当我们打开一个非活动用户的记录时,我们会得到 EntityNotFoundException。我们想返回一个由它的登录名填充的虚拟用户对象。

有可能的?

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 回答