Я использую NHibernate, и у меня проблемы с этим запросом ... У меня есть класс Item, который я хочу получить, используя его идентификатор . Все хорошо. Однако я также хочу, чтобы для свойства bool в классе Item было установлено значение true, если установлено какое-либо другое условие. В частности, это свойство называется IsMarked, сообщает, помечен ли элемент / отмечен / помечен для пользователя, который его запросил, и эта информация устанавливается в таблице, дающей связь между элементом и пользователем.
В настоящее время я извлекаю элемент, а затем нахожу ссылку - обновляя свойство до значения true, если ссылка может быть найдена. Могу ли я сделать это в одном запросе?
var item = Session.Get<Item>(itemId);
var flaggedResult = Session.CreateCriteria<ItemWithUserFlag>()
.Add(Restrictions.Eq("User.Id", userId))
.Add(Restrictions.Eq("Item", item))
.List<ItemWithUserFlag>();
if (flaggedResult.Count > 0)
item.IsMarked = true;
return item;