Все мои сущности NH происходят от типа BusinessEntity, это
имеет базовые значения ID, Создано, Создано, Обновлено, Обновлено.
CreatedBy / updatedBy принимает пользователя
У меня есть IPreUpdateEventListener и IPreInsertEventListener, которые запускают
чтобы получить текущий DateTime для значений аудита. Также здесь у меня есть
моя логика, чтобы получить текущий пользователь работает, который я хватаю, запустив
Критерий запроса по принципу пользователя Windows. Из чего я
понял из всего поста в группе пользователей NH на эту тему мои потребности в классе пользователей
быть загруженным для того, чтобы это работало правильно в моих EventListeners
вот как я загружаю пользователя
public User GetByDomainPrinciple(string domainPrinciple)
{
var domainPrincipleCriteria = DetachedCriteria.For<User>()
.Add(Restrictions.Eq("DomainPrinciple", domainPrinciple))
.SetFetchMode("Roles", FetchMode.Eager)
.SetFetchMode("Groups", FetchMode.Eager)
.SetFetchMode("Groups.Roles", FetchMode.Eager)
.SetCacheable(true);
return Repository.QuerySingle(domainPrincipleCriteria);
}
Repository.QuerySingle(domainPrincipleCriteria);
это просто
return detachedCriteria
.GetExecutableCriteria(_conversation.Session).UniqueResult<T>();
Я что-то упустил или мой запрос критерия неверен? Я думаю абсолют
в худшем случае я мог бы изменить CreatedBy на Guid вместо
Пользователь и просто вручную назначить FK, как это, но это кажется очень
грязный.