Допустим, у меня есть класс, который выглядит так:
public class User : Entity{
public virtual string FullName{get;set;}
}
где Entity
- очень простой базовый класс, который мы используем для привязки NHibernate:
public class Entity{
public virtual int ID{
{
get{return id;}
}
private int id = 0;
}
Если я хочу использовать QueryOver, который включает в себя идентификатор пользователя, как бы я это сделал, если привязать поле следующим образом:
<id name="id" column="UserID" access="field" unsaved-value="0">
<generator class="identity" />
</id>
Есть ли метод, который позволит мне получить доступ к полю в моем запросе? Если я попытаюсь использовать его с публичной собственностью, я знаю, что у меня возникнут проблемы с тем, что свойство фактически не связано с HBM.
Учитывая, что HQL может справиться с подобной ситуацией, мне любопытно, может ли QueryOver
также.
В сторону:
Я бы сказал, что ID
должен быть публичной собственностью без вспомогательного поля и иметь частный установщик, но я опасаюсь делать такие радикальные изменения (этот шаблон повсюду в нашей области).